你不知道的js-读书笔记
文章平均质量分 57
JavaScript中有很多出乎意料的行为,我们习惯性不使用这些特性,而只用那些“好的部分”、“安全的部分”。
“你不知道的 JavaScript”系列丛书旨在:学习并且深入理解整个JavaScript,尤其是那些“难的部分”。
本专栏即为阅读该书后的一些醍醐灌顶的笔记。
SirM2z
这家伙很懒,留下了一句话~
展开
-
你不知道的JS-读书笔记(一)--作用域
作用域中的 LHS,RHS 查询var a = 2; 引擎对a的查找是LHS查询,指查询a的内存位置,并非查找其真实的值 console.log(a) 引擎对a的查找是RHS查询,指查询a的实际值,并传递给console.log()方法作为参数 function foo (a) { console.log(a); }foo(2); 对foo进行RHS查询,并进行方法调用 隐式对a进行赋值:a=2原创 2017-11-23 14:53:16 · 540 阅读 · 0 评论 -
你不知道的JS-读书笔记(二)--闭包,模块
闭包的效果function foo () { var a = 2; function bar () { console.log(a); } return bar; }var baz = foo()baz() // 2循环与闭包for (var i = 0; i < 5; i++) { (function (j) { setTimeout(function timer原创 2017-11-23 14:55:04 · 529 阅读 · 0 评论 -
你不知道的JS-读书笔记(三)--this和对象原型
this 绑定规则默认绑定严格模式下绑定到undefined,否则绑定到全局对象function foo () { console.log(this.a); } var a = 2; foo(); // 2隐式绑定由上下文对象调用,绑定到该上下文对象function foo () { console.log(this.a); }var obj = { a: 2, foo: foo }原创 2017-11-23 14:57:00 · 481 阅读 · 0 评论 -
你不知道的JS-读书笔记(四)--混合对象类
寄生继承//“传统的 JavaScript 类” Vehicle function Vehicle() { this.ehgines = 1; } Vehicle.prototype.ignition = function() { console.log( "Turning on my engine." ); }; Vehicle.prototype.drive = function() {原创 2017-11-23 14:58:07 · 605 阅读 · 0 评论 -
你不知道的JS-读书笔记(五)--原型[Prototype]
[[Prototype]] 链function Foo () { this.tmp = 'b' } var a = new Foo() Object.getPrototypeOf(a) === Foo.prototype // true a.tmp // 'b' 调用 new Foo() 时会创建 a, 其中的一步就是给 a 一个内部的 [[Prototype]] 链接, 关联到 Foo.p原创 2017-11-23 14:59:18 · 526 阅读 · 0 评论