欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

javascriptthis詳細(xì)介紹-創(chuàng)新互聯(lián)

this的值是在運(yùn)行時確定的

  JS中的this究竟代表什么,這是在程序運(yùn)行時根據(jù)上下文環(huán)境確定,可以分為以下幾種情況。

  1. 全局作用域中的this

  在全局作用域中,this指向window對象。

  ?

  1

  2

  3

  4

  5

  6

  console.log(this);//指向window對象

  this.x = 5//在全局作用域內(nèi)創(chuàng)建一個x

  //與this.x = 5的等價情況:

  //var x = 5;

  //x = 5;

  在全局作用域中執(zhí)行var x=5,其實是為window對象創(chuàng)建一個屬性x,并令其等于5。

  若定義變量時不加var,JS會認(rèn)為該變量為全局變量,會將其當(dāng)作window對象的屬性。

  2. 函數(shù)中的this

  JS中函數(shù)有兩種,直接調(diào)用的函數(shù)稱為普通函數(shù),通過new創(chuàng)建對象的函數(shù)稱為構(gòu)造函數(shù)。

  2.1 構(gòu)造函數(shù)中的this

  構(gòu)造函數(shù)的this指向它所創(chuàng)建的對象,如:

  ?

  1

  2

  3

  4

  function Person(name){

  this.name = name;//this指向該函數(shù)創(chuàng)建的對象person

  }

  var person = new Person("chaimm");

  2.2 普通函數(shù)中的this

  普通函數(shù)的this指向window對象。

  若上述例子,直接執(zhí)行Perosn函數(shù),則其中this代表window對象,因此該函數(shù)執(zhí)行后會創(chuàng)建一個全局的name。

  ?

  1

  2

  3

  4

  function Person(name){

  this.name = name;//this指向window

  }

  Person("chai");//當(dāng)作普通函數(shù)執(zhí)行,this指向window對象

  3. 對象中的this

  對象中的this指向當(dāng)前對象,如:

  ?

  1

  2

  3

  4

  5

  6

  var person = {

  name : "chaimm",

  getName : function(){

   return  this.name;

  }

  }

  上述代碼中this指向函數(shù)getName所屬的對象。

  但是,如果一個對象的函數(shù)中又嵌套了一個函數(shù),這個函數(shù)的this指向的卻是window,而并不是其外層的對象。

  ?

  1

  2

  3

  4

  5

  6

  7

  8

  var person = {

  name : "chaimm",

  setName : function(name){

  (function(name){

  this.name = name; //此時this并不代表person對象,而是代表window對象

  })(name);

  }

  }

  上述示例中,person對象中有一個getName函數(shù),而getName函數(shù)內(nèi)部又有一個函數(shù),這個函數(shù)內(nèi)部的this指向window對象,而非person對象,這是JS的一個bug!一般作如下處理,規(guī)避這個bug:

  ?

  1

  2

  3

  4

  5

  6

  7

  8

  9

  var person = {

  name : "chaimm",

  setName : function(name){

  var thar = this;//將this賦給that

 ?。╢unction(name){

  that.name = name;//此時that指向person對象

  })(name);

  }

  }

  我們在person對象的第一層函數(shù)中,將this賦給局部變量that,然后在第二層函數(shù)中使用that,此時that指向person對象,可對person的屬性進(jìn)行操作。

  注意:若將一個對象中的函數(shù)賦給一個變量后,再通過該變量調(diào)用這個函數(shù),此時該函數(shù)中的this指向window,而非該對象,如下所示:

  ?

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  var person = {

  name : "chaimm",

  getName : function(){

  return this.name;

  }

  }

  //將getName函數(shù)賦給一個新的變量

  var newGetName = person.getName;

  //通過新的變量調(diào)用這個函數(shù),這個函數(shù)中的this將指向window

  newGetName();//若全局作用域中沒有name,則將返回undefined

  4. 用 call 和apply函數(shù)給this開掛

  這兩個函數(shù)都能手動指定被調(diào)用函數(shù)內(nèi)部的this指向哪個對象。

  ?

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  12

  13

  14

  //定義一個構(gòu)造函數(shù)

  var Person = function(name){

  this.name = "";

  this.setName = function(name){

  this.name = name;

  }

  }

  //創(chuàng)建兩個對象

  var personA = new Person("A");

  var personB = new Person("B");

  //使用personA的setName函數(shù)去修改personB的name屬性

  personA.setName.apply(personB,["C"];

  apply用法

  對象A.函數(shù)名。apply(對象B, 參數(shù)列表);

  當(dāng)對象B作為apply的第一個參數(shù)傳給apply時,對象A的函數(shù)中this就指向了對象B,此時對象A的該函數(shù)對this的操作將會作用在對象B上,由此實現(xiàn)了用對象A去調(diào)用對象B的函數(shù)。

創(chuàng)新互聯(lián)一直通過網(wǎng)站建設(shè)和網(wǎng)站營銷幫助企業(yè)獲得更多客戶資源。 以"深度挖掘,量身打造,注重實效"的一站式服務(wù),以做網(wǎng)站、網(wǎng)站制作、移動互聯(lián)產(chǎn)品、營銷型網(wǎng)站建設(shè)服務(wù)為核心業(yè)務(wù)。十載網(wǎng)站制作的經(jīng)驗,使用新網(wǎng)站建設(shè)技術(shù),全新開發(fā)出的標(biāo)準(zhǔn)網(wǎng)站,不但價格便宜而且實用、靈活,特別適合中小公司網(wǎng)站制作。網(wǎng)站管理系統(tǒng)簡單易用,維護(hù)方便,您可以完全操作網(wǎng)站資料,是中小公司快速網(wǎng)站建設(shè)的選擇。

/tupian/20230522/

分享標(biāo)題:javascriptthis詳細(xì)介紹-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://aaarwkj.com/article30/gcspo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、ChatGPT定制開發(fā)、關(guān)鍵詞優(yōu)化、響應(yīng)式網(wǎng)站、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
色在色在线播放亚洲中文| 日本免费一区二区三个| 日本一区二区欧美在线| 亚洲欧洲一区二区免费| 18禁黄网站免费观看在线 | 亚洲精品日韩国产av| 亚洲毛片一区二区在线| 青青草原在线观看网站| 人妻大乳一区二区三区| 人妻中出中文字幕一区| 可以免费看的欧美黄片| 久久精品亚洲精品国产| 韩国三级在线视频网站| 欧美日韩视频一区二区| 久久男女激情免费视频| 国产免费不卡午夜福利在线 | 人妻日韩字幕一区二区| 女同欲望一区二区三区久久| 久久熟女av一区二区三区| 国产性做爰片免费视频| 黄色录像免费看中文字幕| 国产免费av高清在线| 亚洲精品欧美无人区乱码| 日韩无砖区2021不卡| 男女在线视频网站免费| 不卡视频在线免费观看| 欧美日韩欧美国产精品| 校园春色亚洲一区二区| 国产丰满熟女视频免费| 精品三级黄色国产片| 中文字幕亚洲精品视频| 国产一区中文字幕在线| 日本精品国产一区二区在线| 麻豆视频在线观看传媒| 在线视频日韩欧美国产二区| 欧美国产一级二级三级| 日韩传媒在线观看视频| 国产一区二区精品日韩| 国产高清av免费在线观看| 又爽又色的日本网站| 农村女人91熟女熟妇|