-
一只甜甜圈
Javascript中一个函数的this关键字的行为相对其它语言有些不同。在严格模式和非严格模式间也有区别。在大多数情况下,this的值由函数如何调用来决定。this值不能在函数执行过程中赋值设置,并且每次函数调用时this值可能也不相同。ES5通过添加bind方法设置函数的this值,无论函数如何被调用。(this值永久不变)全局上下文中: 全局执行环境中(函数外部),无论在与不在严格模式下this指向全局对象。 console.log(this.document === document); //true //在web浏览器中,window对象即是全局对象: console.log(this === window); // true this.a=37; console.logn(window.a); //37 function上下文 在函数内部,this值依赖于函数如何调用。简单调用: function f2(){ "use strict";//使用严格模式 return this; } f2() === undefined;
-
杨__羊羊
在js中,调用function的apply()或者call()可以覆盖this原先的指向。但是call()和apply()的用法略有不同;用apply()时,参数需要用Array;JavaScript有一套完全不同于其它语言的对this的处理机制。
-
天涯尽头无女友
就是函数本身的意思 比如
function demo(){
this.width = 100;
this.height = 200;
return this
}
这里的意思就是本身这个函数的宽度 高度用this代替
其实它的原型是
function demo()
{
var p = new Object();
p.width = 100;
p.heighr = 200;
return p;
}
和这种方法是一个效果
-
守着一只汪
这么写就会好理解些document.getElementById("textinput").onclick=function(){alert(this.value);}这样就好理解了,this就是指 document.getElementById("textinput")