最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript中this的9種應(yīng)用場(chǎng)景及三種復(fù)合應(yīng)用場(chǎng)景

 更新時(shí)間:2015年09月12日 10:45:09   作者:小火柴的藍(lán)色理想  
本文通過9中應(yīng)用場(chǎng)景給大家分析this關(guān)鍵字的用法,需要了解的朋友可以參考下本文

【場(chǎng)景1】全局環(huán)境中的this指向全局對(duì)象

this.a = 10;
alert(a);//10
b = 20;
alert(this.b);//20
var c = 30;
alert(this.c);//30

【場(chǎng)景2】對(duì)象內(nèi)部函數(shù)的this指向調(diào)用函數(shù)的當(dāng)前對(duì)象

var a = 10;
var bar = {
 a: 20,
 test: function(){
  alert(this.a);
 }
}
bar.test();//20

【場(chǎng)景3】全局環(huán)境函數(shù)的this指向全局對(duì)象

var a = 10;
function foo(){
 alert(this.a);
}
foo();//10

【場(chǎng)景4】匿名函數(shù)中的this指向全局對(duì)象

var a = 10;
var foo = {
 a: 20,
 fn: (function(){
  alert(this.a);
 })()
}
foo.fn//10

【場(chǎng)景5】setInterval和setTimeout定時(shí)器中的this指向全局對(duì)象

var a = 10;
var oTimer1 = setInterval(function(){
 var a = 20;
 alert(this.a);//10
 clearInterval(oTimer1);
},100);

【場(chǎng)景6】eval中的this指向調(diào)用上下文中的this

(function(){
 eval("alert(this)");//[object Window]
})();
function Foo(){
 this.bar = function(){
  eval("alert(this)");//[object Object]
 }
}
var foo = new Foo();
foo.bar();

【場(chǎng)景7】構(gòu)造函數(shù)中的this指向構(gòu)造出的新對(duì)象

function Person(name,age){
 this.name = name;
 this.age = age;
 this.sayName = function(){
  alert(this.name);
 }
}
var p1 = new Person('lily','20');
p1.sayName();//'lily'

【場(chǎng)景8】new Function中的this指向全局對(duì)象

(function(){
 var f = new Function("alert(this)");
 f();//[object Window]
})();
function Foo(){
 this.bar = function(){
  var f = new Function("alert(this)");
  f();//[object Window]
 }
}
var foo = new Foo();
foo.bar();

【場(chǎng)景9】apply和call中的this指向參數(shù)中的對(duì)象

var a = 10;
var foo = {
 a: 20,
 fn: function(){
  alert(this.a);
 }
};
var bar ={
 a: 30
}
foo.fn.apply();//10(若參數(shù)為空,默認(rèn)指向全局對(duì)象)
foo.fn.apply(foo);//20
foo.fn.apply(bar);//30

【復(fù)合場(chǎng)景1】

var someone = {
 name: "Bob",
 showName: function(){
  alert(this.name);
 }
};
var other = {
 name: "Tom",
 showName: someone.showName
}
other.showName();  //Tom

//以上函數(shù)相當(dāng)于

var other = {
 name: "Tom",
 showName: function(){
  alert(this.name);
 }
}
other.showName();  //Tom

【復(fù)合場(chǎng)景2】

var name = 2;
var a = {
 name: 3,
 fn: (function(){
  alert(this.name);
 })(),
 fn1:function(){
  alert(this.name);
 }
}
a.fn;//2[匿名函數(shù)中的this指向全局對(duì)象]
a.fn1();//3[對(duì)象內(nèi)部函數(shù)的this指向調(diào)用函數(shù)的當(dāng)前對(duì)象]

【復(fù)合場(chǎng)景3】

var name = "Bob"; 
var nameObj ={ 
 name : "Tom", 
 showName : function(){ 
 alert(this.name); 
}, 
 waitShowName : function(){
  var that = this;
  setTimeout(function(){
   that.showName();
  }, 1000);
 }
}; 
nameObj.waitShowName();//"Tom"[that=this改變this的指向,使this從指向全局變量變化到指向nameObj]

var name = "Bob"; 
var nameObj ={ 
 name : "Tom", 
 showName : function(){ 
  alert(this.name); 
 }, 
 waitShowName : function(){
  var that = this;//that指向nameObj
  setTimeout(function(){
   (function(){ 
    alert(this.name);
   })();
  }, 1000);
 }
}; 
nameObj.waitShowName();// 'Bob'[形成匿名函數(shù),this指向全局變量] 

本文給大家介紹了this中的9種應(yīng)用場(chǎng)景,希望對(duì)大家有所幫助,本站每天都有新的內(nèi)容更新,請(qǐng)廣大網(wǎng)友持續(xù)關(guān)注本站,謝謝。

相關(guān)文章

  • 微信小程序的宿主環(huán)境實(shí)現(xiàn)代碼

    微信小程序的宿主環(huán)境實(shí)現(xiàn)代碼

    這篇文章主要介紹了微信小程序的宿主環(huán)境,包括scroll-view 組件的基本使用,text 組件的基本使用及rich-text 組件的基本使用,本文通過示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • JavaScript中的call和apply的用途以及區(qū)別

    JavaScript中的call和apply的用途以及區(qū)別

    本文主要介紹了JavaScript中的call和apply的用途以及區(qū)別。具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-01-01
  • js實(shí)現(xiàn)緩動(dòng)動(dòng)畫

    js實(shí)現(xiàn)緩動(dòng)動(dòng)畫

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)緩動(dòng)動(dòng)畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • Bootstrap圖片輪播組件Carousel使用方法詳解

    Bootstrap圖片輪播組件Carousel使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了Bootstrap圖片輪播組件Carousel使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • aspx中利用js實(shí)現(xiàn)確認(rèn)刪除代碼

    aspx中利用js實(shí)現(xiàn)確認(rèn)刪除代碼

    在一些程序開發(fā)中,對(duì)于刪除操作,最好再讓用戶確認(rèn)一下,以免誤操作,帶來的損失,下面的方法,大家可以參考下。各個(gè)語(yǔ)言下,都通用的思路。
    2010-07-07
  • JavaScript web表單功能交流干貨滿滿

    JavaScript web表單功能交流干貨滿滿

    表單通常用來收集網(wǎng)頁(yè)訪問者信息,常見的表單比如搜索引擎的搜索框、各網(wǎng)頁(yè)應(yīng)用的注冊(cè)或者登陸界面等。一個(gè)表單通常包括多個(gè)表單控件
    2021-10-10
  • JS判斷客服QQ號(hào)在線還是離線狀態(tài)的方法

    JS判斷客服QQ號(hào)在線還是離線狀態(tài)的方法

    這篇文章主要介紹了JS判斷客服QQ號(hào)在線還是離線狀態(tài)的方法,可實(shí)現(xiàn)完整的判斷QQ在線及對(duì)話的功能,是非常實(shí)用的技巧,需要的朋友可以參考下
    2015-01-01
  • 獲取中文字符串的實(shí)際長(zhǎng)度代碼

    獲取中文字符串的實(shí)際長(zhǎng)度代碼

    某些情況下我們需要獲取中文字符串的實(shí)際長(zhǎng)度,下面有個(gè)示例,大家可以參考下
    2014-06-06
  • Echarts圖例組件的屬性與源代碼

    Echarts圖例組件的屬性與源代碼

    圖例組件展現(xiàn)了不同系列的標(biāo)記(symbol),顏色和名字,可以通過點(diǎn)擊圖例控制哪些系列不顯示,這篇文章主要給大家介紹了關(guān)于Echarts圖例組件的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • 使用js實(shí)現(xiàn)html標(biāo)簽、文本的隱藏、顯示、刪除及添加

    使用js實(shí)現(xiàn)html標(biāo)簽、文本的隱藏、顯示、刪除及添加

    在設(shè)計(jì)網(wǎng)頁(yè)時(shí),有時(shí)需要靜態(tài)或動(dòng)態(tài)地隱藏標(biāo)簽或顯示被隱藏的標(biāo)簽,那該怎么實(shí)現(xiàn)呢?這篇文章主要給大家介紹了關(guān)于使用js實(shí)現(xiàn)html標(biāo)簽、文本的隱藏、顯示、刪除及添加的相關(guān)資料,需要的朋友可以參考下
    2023-06-06

最新評(píng)論

夏邑县| 万载县| 民勤县| 迭部县| 潜江市| 绩溪县| 宜兴市| 河东区| 溧水县| 山东| 龙井市| 红河县| 武山县| 屏东市| 司法| 晋宁县| 岑溪市| 秦安县| 年辖:市辖区| 电白县| 渭南市| 沅陵县| 苍梧县| 福海县| 永寿县| 岳西县| 监利县| 吉水县| 昌都县| 大足县| 星子县| 江华| 灵台县| 河北区| 肇源县| 巨鹿县| 仁布县| 德庆县| 巫溪县| 庆城县| 温泉县|