js中this的理解
来源:互联网 发布:如何免费申请邮箱域名 编辑:程序博客网 时间:2024/05/11 02:24
相信很多人开始学习js的时候,关于this的理解不是很清晰,并且一般靠直觉…然并卵,直觉这玩意儿不好说…在厌烦了直觉判断后的我,翻阅了很多…好吧,百度了好多文章,下面是我关于this的总结
(1)this的指向在函数定义的时候是确定不了的,只有在执行的时候才能确定this指向;
(2)this最终指向调用它的上一级对象;
(3)一般指向函数的拥有者,特殊的是自执行函数,this指向window
看个栗子就基本明确了
var number = 1;var obj = { number: 2, shownum: function() { console.log(this.number); //2 (function() { console.log(this.number); //1 var obj = { number: 3, getNum: function() { return this.number; } } console.log(obj.getNum()); //3 })(); }}obj.shownum()
构造函数的this:
function Engineer() { this.skill = "program";}var fe = new Engineer();console.log(fe.skill); //program 调用者是fe 所以this指向了fe
当this碰见return的时候
function Engineer() { this.skill = "program"; return 1;}var fe = new Engineer();console.log(fe.skill); //program
function Engineer() { this.skill = "program"; return { skill: 'smile' }}var fe = new Engineer();console.log(fe.skill); //smile
是的,构造函数返回一个对象,那么this就会指向返回的对象
function Engineer() { this.skill = "program"; return null;}var fe = new Engineer();console.log(fe.skill); //program
null比较特殊,尽管null也是对象,但这里的this还是会指向函数实例
阅读全文
1 0
- JS中this的理解
- js中this的理解
- js中this的理解
- js中this的理解
- JS中this的理解
- js中this的理解
- js中this理解
- 彻底理解js中this的指向
- 彻底理解js中this的指向
- js中对this关键字的理解
- 彻底理解js中this的指向
- 理解js中this的指向问题
- 关于 js 中 this 的理解
- 彻底理解js中this的指向!
- 彻底理解 JS 中 this 的指向
- js中关于this关键字的理解
- vue.js中this.$emit的理解
- 彻底理解js中this的指向
- CFF 1028 判断互质(求最大公约数),欧几里得算法,辗转相除法
- 设计模式之工厂模式
- Scholar List
- Makefile-- make 运行
- 软件质量保证和测试不常见的问题
- js中this的理解
- ONVIF协议网络摄像机(IPC)客户端程序开发(6):使用gSOAP生成ONVIF框架代码
- leetcode 677. Map Sum Pairs
- SNMP
- 命令行参数
- bash:权限不够
- 窗口大小、滑动窗口
- C语言的那些坑(函数返回局部变量)
- 第十周 【项目2