摘要: 紧接上一篇博文:js函数的作用域与this指向先来说说this的作用于链,this后的属性或者方法在使用时是先从本实例中查找,如果找到就先返回,如果没找到就接着向上从原型链中查找,如果有多重继承关系,那就一级一级的找上去,如果最终没找到就返回undifined.看下面示例:代码中实例obj的doFunction方法就是先在本实例查找,因为在本实例中定义了name属性所以返回“MyObj下的name”,如果把“this.name = 'MyObj下的name';”注释掉,那就顺着原型找上去,返回“prototype下的name”。这就是js的链作用域查找机制,利用这个机制就能做一 阅读全文
posted @ 2014-02-10 17:15 龙则 阅读(1186) 评论(0) 推荐(0) 编辑
摘要: 函数的作用域与this指向是js中很重要的一部分,理清这点东西需要个逻辑,看看我的逻辑怎么样...下面是个提纲,可以直接挑你感兴趣的条目阅读。函数的定义方式:直接定义(window下,内部定义),对象的方法,对象原型的方法;函数的调用方式:直接调用,call/apply,with对于直接定义的函数和对象的方法,作用域默认状态下是它的定义处的作用域链。对于直接定义的函数,this指向window。对于对象的方法,this指向实例化对象(对应于实例化对象默认返回this的情况)。用call/apply改变方法的this指向在函数或方法的定义时可以通过with改变其作用域链。下面分开来具体说说:函数 阅读全文
posted @ 2014-02-10 14:57 龙则 阅读(16499) 评论(0) 推荐(1) 编辑