JS中 this 的四种用法


1、在一般函数中使用 this 指全局对象 window

function fn(){
    this.x = 1 } fn(); //相当于window.fn() 

2、作为对象方法使用 this 指该对象

function fn(){
    alert(this.x) //this是调用该函数的obj对象 输出test
} var obj = {'fn':fn,'x':'test'} obj.fn(); 

3、作为构造函数使用 this 指new 函数出的对象

function fn(){
    this.x = 123; //this是调用该函数的obj对象
} var obj = new fn(); //obj = {x:123}

4、apply 调用函数,apply 方法作用是改变函数的调用对象,此方法第一个参数为改变后的调用函数的对象,函数里this指第一个参数

var x = 11;
function fn(){ alert(this.x) } var obj = {'fn':fn,'x':22} var obj2 = {'x':33} obj.fn.apply(); // 11 ,apply()参数为空时,默认调用的是全局对象,this当前指全局对象 obj.fn.apply(obj); // 22 obj.fn.apply(obj2); // 33

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM