分类 javascript 下的文章



特性方面,箭头函数和普通函数存在诸多不同。

特性箭头函数普通函数
this 绑定不会创建自身的this,而是从定义位置的上下文中继承this值,即遵循词法作用域,其this指向外层最近的非箭头函数的this在调用时动态决定this的指向,取决于调用方式,如直接调用时指向全局对象,作为对象方法调用时指向该对象,作为构造函数调用时指向新实例。
使用 new 调用不能作为构造函数使用,若使用new调用会抛出错误。可以作为构造函数使用,在实例化新对象时,this指向该新实例。
arguments 对象的处理没有arguments对象,需使用 rest 参数(...args)来获取参数数组。内部有自己的arguments对象,可通过它访问传入的所有参数。
隐式返回对于单行表达式可以省略大括号和return关键字,直接返回结果,简化了写法。必须显式地使用return关键字返回结果。
作为对象方法使用不适合直接作为对象方法,因为它没有自己的thisthis会指向定义位置的外部上下文,而非调用它的对象。更适合作为对象方法,其this会指向调用者,即该对象。
性能在特定情况下会略微节省内存,尤其是在较少嵌套的环境中,因为无需管理thisarguments。但这种差异在绝大多数情况下微乎其微。在某些优化场景下性能可能更好,尤其是在函数调用频繁且需要频繁重新绑定this的情况下。
绑定上下文无法通过bind()call()apply()改变this的指向,其this永远指向定义时的上下文。可以使用bind()call()apply()显式改变this指向,动态绑定不同的上下文。
函数声明提升不支持函数声明提升。支持函数声明提升。

- 阅读剩余部分 -

一、Web Speech 的概念及用法
在开发业务系统时,有时候可能需要使用语音播报一段文字。

目前文字转语音即语音合成技术现在已经很成熟了,像百度、讯飞等都提供了相关的服务,支持将文字转换成各种形式的语音,通常这些服务都需要付费使用,如果对语音要求不高,并且又想节约成本,那么可以直接使用浏览器的语音合成功能。

- 阅读剩余部分 -

autofit.js
迄今为止最易用的自适应工具

理论上可以支持从你的设计稿以下的分辨率,只需一行代码。

autofit.js是一个可以让你的PC项目自适应屏幕的工具,其原理非常简单,即在scale等比缩放的基础上,向右或向下增加了宽度或高度,以达到充满全屏的效果,使用autofit.js不会挤压、拉伸元素,它只是单纯的设置了容器的宽高。

- 阅读剩余部分 -