js基础--this详解

最近在imooc看深入浅出js,上机实践,做了一些笔记和心得。

今天还是在复习js基础,把imooc深入浅出js的this总结一下

代码实现一下,才能说服自己啊

1.全局this(浏览器)

this指的是window


2.一般函数的this(浏览器)

*node是global

*严格模式(strict)会指向undefined


3.作为对象方法的函数的this

注意,这个myway()函数是独立的,如果直接输出,this指向依旧是window


4.对象原型链上的this


5.get/set方法与this

使用这两个方法改变原型的属性值,

(插一句object.DefineProperty很有趣vue.js和avalon.js都是通过它实现双向绑定的,这个坑下次补!)


6.构造器中的this

这有个坑。

如果直接调用函数,this指向window。

如果作为构造器去调用,this会指向原型为f的空对象,无return则返回10。


7.call/apply方法与this

注意这里都是ab,但是this.a、this.b指的是o的属性

还会输出一些无法名状的函数值,比如以下


8.bind方法与this

o.f()是通过对象属性调用,所以this指向o

o.g()虽然是被o调用,但是按照以前bind的绑定,显示test










最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容