怎么样才算是精通 JavaScript?
proginn2251283747
共 608字,需浏览 2分钟
·
2022-02-09 09:04
假若你能写出一个完全符合 ES5 spec 的 Function.prototype.bind 的话,你就可以说是精通了。
首先我必须做一个假设,那就是我们说的是 JavaScript 这门语言本身,而不考虑任何和浏览器相关的事情。那也就是说,只要能在 Node.js 中跑起来就行,没有任何的 DOM 或 BOM API,也没有 JavaScript 版本兼容性问题。(基于这个假设,很多答案列举的是「什么不是 JavaScript」。)
为什么选择 Function.prototype.bind?因为假若你能完全了解它的每一个细节,你就了解 JavaScript Function 的一切了。Function 的本质是什么,什么是 closure,如何用 Function.prototype.apply 改变 this,为什么要改变 prototype 引用。如果这些问题有一个你搞不明白,你都写不出 Function.prototype.bind。此外,如果你真的认真读 ES5 了,你就知道要完全符合 spec 是不可能的(反回结果要求无 prototype 但使用时相当于拥有原 prototype),只能保证兼容同时放弃一些细节。
如果你能如此了解 Function,我觉得 setTimeout 之类的也十分了解吧,所以我通常用 Function.prototype.bind 来做 benchmark。
浏览
6首先我必须做一个假设,那就是我们说的是 JavaScript 这门语言本身,而不考虑任何和浏览器相关的事情。那也就是说,只要能在 Node.js 中跑起来就行,没有任何的 DOM 或 BOM API,也没有 JavaScript 版本兼容性问题。(基于这个假设,很多答案列举的是「什么不是 JavaScript」。)
为什么选择 Function.prototype.bind?因为假若你能完全了解它的每一个细节,你就了解 JavaScript Function 的一切了。Function 的本质是什么,什么是 closure,如何用 Function.prototype.apply 改变 this,为什么要改变 prototype 引用。如果这些问题有一个你搞不明白,你都写不出 Function.prototype.bind。此外,如果你真的认真读 ES5 了,你就知道要完全符合 spec 是不可能的(反回结果要求无 prototype 但使用时相当于拥有原 prototype),只能保证兼容同时放弃一些细节。
如果你能如此了解 Function,我觉得 setTimeout 之类的也十分了解吧,所以我通常用 Function.prototype.bind 来做 benchmark。
评论
电子名片怎么样?
数字名片是一套全新的企业级名片管理应用软件,是新一代企业级智能社交名片,数字名片系统能够完全满足企业所有名片应用及管理问题。数字名片行通过构建名片管理端和名片应用端,为企业增效赋能!
管理端功能特点
* 名片模板管理统一管理公司数字名片模板(不限制使用人数),选购或定制开发企业数字名片模板,自定义名片详情,名片皮肤,名片转发话术等;
* 员工名片管理批量导入企业员工名片信息,批量生成名片,批量通知员工认领名片,轻松管理入职离职员工名片信息修改等。
* 名片权限管理按角色设置员工权限,灵活控制企业成员名片修改及使用权限。是否允许员工修改名片信息及修改哪些名片信息等。
* 名片数据分析实时分析企业员工名片的使用情况,
名片活动行
0