多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > web前端 > jscript > ECMA-262-3 深入解析.第三章.this[譯]

ECMA-262-3 深入解析.第三章.this[譯]

來(lái)源:程序員人生   發(fā)布時(shí)間:2014-05-15 07:38:38 閱讀次數(shù):3378次

導(dǎo)言

在這篇文章中我們將討論一個(gè)與執(zhí)行上下文直接相關(guān)各更多細(xì)節(jié)。討論的主題就是this關(guān)鍵字。

實(shí)踐表明,這個(gè)主題很難,在不同執(zhí)行上下文中this值的確定經(jīng)常導(dǎo)致問(wèn)題。

許多程序員習(xí)慣的認(rèn)為,在程序語(yǔ)言中,this關(guān)鍵字與面向?qū)ο蟮某绦蚓o密相關(guān),完全指向通過(guò)構(gòu)造器創(chuàng)建的新的對(duì)象。在ECMAScript中也是這樣執(zhí)行的,但正如你看到的那樣,這并不限于創(chuàng)建對(duì)象的定義。

讓我們更詳細(xì)的了解ECMAScript中真正的this值是什么?

定義

這個(gè)值是執(zhí)行上下文中的一個(gè)屬性。

activeExecutionContext = {  VO: {...},  this: thisValue};

這里VO使我們前面討論的變量對(duì)象。

this與上下文中可執(zhí)行代碼密切直接相關(guān),這個(gè)值取決于進(jìn)入的上下文,代碼在上下文中運(yùn)行時(shí)一成不變

全局代碼中的this值

在這里一切都簡(jiǎn)單。在全局代碼中,this始終是全局對(duì)象本身,這樣有可能間接的引用它。

// explicit property definition of// the global objectthis.a = 10; // global.a = 10alert(a); // 10// implicit definition via assigning// to unqualified identifierb = 20;alert(this.b); // 20// also implicit via variable declaration// because variable object of the global context// is the global object itselfvar c = 30;alert(this.c); // 30

函數(shù)代碼中的this值

在函數(shù)代碼中使用this 時(shí)很有趣,這種情況很難且會(huì)導(dǎo)致很多問(wèn)題。

這種類型的代碼中,this值的首要特點(diǎn)(或許是最主要的)是它不是靜態(tài)的綁定到一個(gè)函數(shù)。

正如我們上面曾提到的那樣,這個(gè)值取決于進(jìn)入的上下文,在一個(gè)函數(shù)代碼中,這個(gè)值在每一次完全不同。

但是,在代碼運(yùn)行時(shí)的this值是不變的,也就是說(shuō),既然它不是一個(gè)變量,就不可能為其分配一個(gè)新值(相反,在Python編程語(yǔ)言中,它明確的定義為對(duì)象本身,在運(yùn)行期間可以不斷改變)。

var foo = {x: 10};var bar = {  x: 20,  test: function () {    alert(this === bar); // true    alert(this.x); // 20    this = foo; // error    alert(this.x); // if there wasn't an error then 20, not 10  }};// on entering the context this value is// determined as "bar" object; why so - will// be discussed below in detailbar.test(); // true, 20foo.test = bar.test;// however here this value will now refer// to "foo" – even though we're calling the same functionfoo.test(); // false, 10

生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产福利一区二区精品免费 | 国产一级第一级毛片 | 国产亚洲精品成人一区看片 | 久爱精品视频在线视频 | 今天免费中文字幕视频 | 日本不卡视频一区二区 | 欧美一级视频在线观看欧美 | 久久精品亚洲精品国产欧美 | 国产久7精品视频 | 天堂tv亚洲tv日本tv不卡 | 91不卡视频 | 欧美一级鲁丝片 | 日韩精品亚洲人成在线观看 | 亚洲大片在线观看 | 亚洲综合无码一区二区 | 牛牛精品国内免费一区 | 日本爱爱小视频 | 武则天a级在线 | 亚洲精品国产一区二区在线 | 大香伊人网 | 亚洲天砖砖区免费 | 欧美亚洲国产精品久久 | 日韩中文字幕精品免费一区 | 亚洲欧美日韩专区 | 欧美另类精品一区二区三区 | 日韩欧美亚洲精品 | 亚洲影院手机版777点击进入影院 | 午夜小视频网站 | 久久免费精品一区二区 | 国产成人香蕉在线视频fuz | 亚洲综合首页 | 亚洲欧美一 | 亚洲日产2021三区在线 | 中文字幕免费观看 | 亚洲国产激情一区二区三区 | 国产欧美曰韩一区二区三区 | av蜜桃 | 亚洲欧美综合另类图片小说区 | 欧美xxxx精品另类 | 99热这里有精品 | 欧美日韩一区二区三区自拍 |