深入理解js中this的用法
this是js的一個關(guān)鍵字,隨著函數(shù)使用場合不同,this的值會發(fā)生變化。但是總有一個原則,那就是this指的是調(diào)用函數(shù)的那個對象。
1、純粹函數(shù)調(diào)用。
function test() { this.x = 1; alert(x); } test();
其實這里的this就是全局變量??聪旅娴睦泳湍芎芎玫睦斫馄鋵峵his就是全局對象Global。其實這里的this就是全局變量??聪旅娴睦泳湍芎芎玫睦斫馄鋵峵his就是全局對象Global。
var x = 1; function test() { alert(this.x); } test();//1 var x = 1; function test() { this.x = 0; } test(); alert(x);//0
2、作為方法調(diào)用,那么this就是指這個上級對象。
function test() { alert(this.x); } var o = {}; o.x = 1; o.m = test; o.m(); //1
3、作為構(gòu)造函數(shù)調(diào)用。所謂構(gòu)造函數(shù),就是生成一個新的對象。這時,這個this就是指這個對象。
function test() { this.x = 1; } var o = new test(); alert(o.x);//1
4、apply調(diào)用
var x = 0; function test() { alert(this.x); } var o = {}; o.x = 1; o.m = test; o.m.apply(); //0 o.m.apply(o);//1
當apply沒有參數(shù)時,表示為全局對象。所以值為0。
以上這篇深入理解js中this的用法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript字符串對象split方法入門實例(用于把字符串分割成數(shù)組)
這篇文章主要介紹了JavaScript字符串對象split方法入門實例,split方法用于把字符串分割成數(shù)組,需要的朋友可以參考下2014-10-10