在 stackoverflow 看到一个有趣的问题: Why is call so much faster than apply? 于是使用 benchmark.js 在 node 中自己测试了一下:
猜猜弹框中会输出 ‘Hello’ 还是 ‘World’。揭晓答案: ‘undefined’。这里是一个 JavaScript 的小陷阱–JavaScript 变量提升(Hoisting)。
举个例子:一个公司需要正常运转,就有市场部,技术部,人事部等等,这每个部门就相当于一个模块,在前端项目中也就有比如专门网络请求的模块,错误处理的模块,专门渲染的模块。...
当微信小程序项目中涉及到获取用户信息并实现用户登录时,可以通过微信官方提供的登录能力方便地获取微信的用户身份标识,快速建立小程序内的用户体系。官方文档只是提供如何去调用授权登录,如果直接原封不动的照搬文档来...
ES6 发布之后,TC-39 小组每年发布一次 ECMAScript 语言新特性,这个 repository tc39/ecma262 中记录着最新版的提议。新版本的 ECMAScript 使用年份来表示版本,所以 ES6 被称为 ES2015, ES7 被称为 ES2016,所以标准起见,以...
随着 JavaScript 工程越来越大,团队协作不可避免,为了更好地对代码进行管理和测试,模块化的概念逐渐引入前端。模块化可以降低协同开发的成本,减少代码量,同时也是“高内聚,低耦合”的基础。...
上篇文章《ES6新增语法(五)——Promise详解》我们介绍Promise,Promise一旦执行就无法暂停和取消,所以ES6引入了Generator函数,可以通过yield关键字,把函数的执行流程挂起,可以改变执行流程。...
传统面向对象:类和构造函数在一起,为对象添加方法时使用prototype。传统面向对象实例如下:
传统面向对象:类和构造函数在一起,为对象添加方法时使用prototype。传统面向对象实例如下:
箭头函数:将原来函数的function关键字和函数名都删掉,并使用”=>”连接参数列表和函数体。