js 中关键字 this的用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 中关键字 this的用法相关的知识,希望对你有一定的参考价值。
<1> js中this 的用法?
(key:函数是由调用的,四种情况标红可知)
(http://www.ruanyifeng.com/blog/2010/04/using_this_keyword_in_javascript.html)
this 关键字指的是函数在运行时,自动生成的内部对象,只能在函数内部使用,随着函数使用场合的变化this 的值也会发生变化,但是总原则是,this指的是调用函数的那个对象 =》范围:函数内部 对象:调用函数的那个对象
this使用的四种情况
1.直接调用函数
var x = 1;
function test(){
this.x = 0;
}
test(); //直接调用函数,this代表的是全局对象Global
alert(x); //0
2.作为对象的方法被调用
function test(){
alert(this.x);
}
var o = {};
o.x = 1;
o.m = test;
o.m(); // 1 由对象调用,作为对象的方法
3.作为构造函数调用(构造函数和普通函数的区别:是否使用new 方法生成新对象)
var x = 2;
function test(){
this.x = 1;
}
var o = new test(); //this 指代的是构造函数new的新对象
alert(x); //2
运行结果为2,表明全局变量x的值根本没变
4.apply ,call 调用(这两函数的作用是改变函数的调用对象,第一个参数代表改变后的函数调用对象,空时默认全局对象)
var x = 0;
function test(){
alert(this.x);
}
var o={};
o.x = 1;
o.m = test;
o.m.apply(); //0 this指的是全局对象。
o.m.apply(o); //1 指代O对象
拓展:http://www.cnblogs.com/xxcanghai/p/5189353.html
以上是关于js 中关键字 this的用法的主要内容,如果未能解决你的问题,请参考以下文章