在javascript函数内的this指的是谁?一句话: The word "this" within a function refers to the object calling that function.
举例子,如下javascript代码
<script>
function Ball(p) {
// alert(this)
// alert(this.constructor)
this.v = p;
}
// case 1
var o = new Object();
o.f = Ball;
o.f("111");
alert(o.v); // 111
// case 2
var b = new Ball("222");
alert(b.v); // 222
// case 3
Ball("333")
alert(v); // 333
</script>Javascript函数Ball()内引用了this关键字,有三个cases验证这个值
Case 1: 调用Ball()函数的对象是o
"this" point to object "o", so this is an Object object, and this.constructor is "function Object()", and variable "v" is attached to object "o".
Case 2: 调用Ball()函数的对象是b
"this" point to object "b", so this is an Ball object, and this.constructor is "function Ball()", and variable "v" is attached to object "b".
Notice: this case works like:
var b = new Object();
b.construct = Ball;
b.construct("222"); // executes b.Ball("222")
Case 3: 调用Ball()函数的对象是全局对象window
"this" point to object root object, i.e,. window object in browser, so this is an Window object, and this.constructor is "function Window()", and variable "v" is attached to object window, i.e,. "v" becomes a global variable.
本文通过实例详细解析了JavaScript中this关键字的含义及其在不同上下文中的指向。具体包括作为普通对象方法、构造函数调用及全局作用域下的表现。

4141

被折叠的 条评论
为什么被折叠?



