博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
十分有趣的this指向题
阅读量:6863 次
发布时间:2019-06-26

本文共 934 字,大约阅读时间需要 3 分钟。

var num=5;//9 =>++this.num=>10    var obj={        num:3,        fn:function() {            num = 9;//window.num=9            (function (num) {                console.log("aa"+this.num);//aa9                console.log(++this.num);//window.num+1=>10                num++;//obj.num+1=>4                console.log(num);//4            })(this.num)            console.log("bb"+this.num);//指向obj.num =>bb3        }    }    obj.fn();    console.log(num);//10    console.log(window.num,obj.num); //10  3

你也可以变化不同的数字,去校验自己的思路,欢迎讨论。

this关键字;在作用域下有特殊意义;  console.log(this);// 全局作用域下的this(对象空间地址)  1.全局下的this指向window;(this和window的空间地址一样)  2.自执行函数中的this永远指向window,自执行函数中的形参、实参指向widow;  3.看函数执行前有没有点,有点,前面是谁,this就指向谁;没有点,指向window;  4.给元素的事件行为绑定方法(函数),那么方法中的this指向当前被绑定的那个元素  5.回调函数中的this,指向window  6.构造函数中的this指向当前类的实例;  7.call 、apply、bind可以改变this关键字;使用es6的箭头函数;在函数内部使用that = this;new实例化一个对象;

转载于:https://www.cnblogs.com/xuemingyao/p/9698337.html

你可能感兴趣的文章
2012需要分析的一些技术(1)
查看>>
Android 解读Event和Main Log
查看>>
Linux-NTP-Server+Client
查看>>
OpenCV学习(12) 图像的腐蚀与膨胀(3)
查看>>
yii图片上传
查看>>
页面滑动至某处,固定导航。
查看>>
数据库事务整理
查看>>
在ctex环境下利用Metapost作图
查看>>
使.NET使用数据库连接池 .
查看>>
Java泛型的好处
查看>>
centos6.3下yum安装redis
查看>>
PHP命名空间(Namespace)的使用详解(转)
查看>>
构建之法第四、第五章读后感
查看>>
stopping NetworkManager daemon failed
查看>>
c#一个统计运行时间方法
查看>>
Bootstrap之Carousel不能自动播放的解决办法(转)
查看>>
python pymysql
查看>>
2011年工作总结和展望(上篇)
查看>>
pytho基础之文件处理
查看>>
Javaweb学习笔记——(五)——————DOM&XML目录
查看>>