网上的资料很多,关于闭包,原型链,面向对象之内的.本人也有一点自己的总结. 关于this: this 的值取决于 function 被调用的方式,一共有四种, 如果一个 function 是一个对象的属性,该 funtion 被调用的时候,this 的值是这个对象.如果 function 调用的表达式包含句点(.)或是 [],this 的值是句点(.)或是 [] 之前的对象.如myObj.func 和myObj["func"] 中,func 被调用时的 this 是myObj. 如果一…
自调用函数 var name = 'world!'; // console.log(typeof name) (function () { console.log(this.name, name, typeof name, typeof name === undefined) if(typeof name === undefined){ var name = 'a!' console.log('hello ' + name) } else{ var name = 'b!' console.lo…
在正文之前,首先要知道两点, 1.__proto__是每个js 对象的内置属性,而prototype 是函数的内置属性,也是一个对象. 2.所谓原型,指的就是每个函数对象的prototype属性. function A(){ } var a = new A(); A是一个函数,所以A.prototype(A的原型)是存在的(这个指向的是一个对象),而a.prototype 是不存在的,以下开始正文. 带着以上几个问题,开始向下扯这条原型链. var a = new A(); 由于a是由new A…