JavaScript 的this对象
来源:互联网 发布:苏轼 柳永 知乎 编辑:程序博客网 时间:2024/05/21 10:37
在函数执行时,this总是指向调用该函数的对象。
- 有对象就指向调用对象
- 没调用对象就指向全局对象
- 用new构造就指向新对象
通过apply或call或bind来改变this的指向。
1:函数有所属对象时
var obj ={ value : 100 } obj.getValue = function(){ console.log(this.value);//100 console.log(this); //输出:{ value: 100, getValue: [Function] } return this.value; }console.log(obj.getValue());//100
2:函数没有所属对象:指向全局对象
var obj ={ value:100 } obj.getValue = function(){ var foo = function(){ console.log(this.value);//undefined,因foo函数调用时没有所属对象 console.log(this);//输出window全局对象 } foo(); return this.value;//这句代码中的this指向obj }console.log(obj.getValue());//100
在上述代码块中,foo 函数虽然定义在 getValue 的函数体内,但实际上它既不属于 getValue 也不属于 obj。foo 并没有被绑定在任何对象上,所以当调用时,它的 this 指针指向了全局对象 global.
3:构造器中的this:指向新对象
在JavaScript中,通过new关键词来调用构造函数,此时this会绑定到该新对象上。
var ConstructObj = function(){
this.value = 100;
}
var newConObj = new ConstructObj();
console.log(newConObj.value); //100
4: apply 和 call 调用以及 bind 绑定:指向绑定的对象
见上个博客内容。
阅读全文
0 0
- JavaScript 的this对象
- Javascript中this对象的解释
- 浅谈JavaScript的arguments和this对象
- javascript中this对象的指向问题
- JavaScript的this对象,什么意思
- JavaScript中this对象的绑定
- javascript函数的特殊对象this
- [JAVASCRIPT] this 对象
- javascript 中 this 对象
- JavaScript 关于this对象
- javascript this 对象详解
- javascript-this对象指代
- JavaScript 理解this对象
- JavaScript之this对象
- Javascript this对象
- javaScript 上下文this 对象
- 【javascript】javascript对象中的this
- 【JavaScript】JavaScript的对象-构造方法与this关键字
- 带权并查集,经典-食物链,poj-1182
- Android Studio debug使用release的签名,省去微信登录之类的要打成正式包才能测试的麻烦!
- 【代码】 四法求逆元
- [数组]递归方式求和
- 遍历二叉树的神级方法(Morris)
- JavaScript 的this对象
- Tomcat 添加外部CLASSPATHP配置 --------- WEB工程配置文件独立部署
- Java多线程详解
- ASP.net 解析 JSON字符串得到数组
- python url 解析
- 多线程(一)
- VMware Workstation Pro 12.x build-4352439 注册码/激活码
- jQuery中height、innerheight和outerheight的区别
- React Native 常用的技术