天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

JScript中的"this"關(guān)鍵字使用方式補(bǔ)充材料

在"JavaScript中this關(guān)鍵字使用方法詳解"一文中,我曾例舉了在JavaScript和JScript中的8種this關(guān)鍵字的方式。這不又發(fā)現(xiàn)還有兩種this關(guān)鍵字的使用方式當(dāng)時(shí)沒有說到,現(xiàn)補(bǔ)充說明一下。并且通過第一種this關(guān)鍵字使用的說明,能讓我們更好的理解JavaScript作為Object-Based語言的本質(zhì)。

    一種是和JavaScript類中的定義有關(guān),我們知道當(dāng)我們定義如下類的時(shí)候:  


function JSClass()
{
}

JSClass.prototype.m_Properties = 100;

JSClass.prototype.ToString = function()
{
    alert(this.m_Properties);
}

    方法ToString中的this.m_Properties就是100,那么下面這種定義呢? 

function JSClass()
{
}

JSClass.m_Properties = -100;

JSClass.ToString()
{
    alert(this.m_Properties);
}

    這時(shí)ToString中的這個(gè)this.m_Properties是啥?是-100。一定嗎?這個(gè)不一定了,這得看我們?cè)趺凑{(diào)用這個(gè)ToString方法。 

JSClass.ToString();
var fun = JSClass.ToString();
fun();
    這時(shí)的運(yùn)行結(jié)果居然是:-100和undefined。真是郁悶哈,怎么才能運(yùn)行fun得到-100呢?需要這樣來為fun賦值:

var fun = function() { JSClass.ToString(); }
fun();
    呵呵,這樣就是-100了。好像挺廢話的,最終不還是調(diào)用的JSClass.ToString()嗎?這個(gè)我們后面再說,看看把這兩個(gè)JSClass合在一起是什么情況呢? 


function JSClass()
{
}

JSClass.m_Properties = -100;
JSClass.prototype.m_Properties = 100;

JSClass.ToString = function()
{
    alert(this.m_Properties);
}

JSClass.prototype.ToString = function()
{
    alert(this.m_Properties);
}

    這兩個(gè)ToString()方法,和里面的this關(guān)鍵字它們是什么關(guān)系呢?看下面的示例: 

var jsclass = new JSClass();
jsclass.ToString();
JSClass.ToString();
    結(jié)果為:100和-100。這里的jsclass實(shí)際上是JavaScript的語言機(jī)制,通過new關(guān)鍵字的說明來創(chuàng)建的一個(gè)新的實(shí)例。而JSClass是什么呢?他們本就是對(duì)象實(shí)例,只是長得像個(gè)函數(shù),也像一個(gè)類的說明。對(duì)于this的問題,第一個(gè)jsclass.ToString()方法里的this是指新創(chuàng)建實(shí)例,而JSClass.ToString()方法里的this是值得JSClass這個(gè)對(duì)象實(shí)例。

    理解了這兩個(gè)this所指代的東西的不同本質(zhì),也就能更好的明白,為什么JavaScript叫做Object-Based的語言,而更加清楚它和Object-Oriented語言的本質(zhì)區(qū)別。

    回頭再說一下補(bǔ)充第二中this的使用方法,就是在使用eval方法的時(shí)候,這個(gè)時(shí)候的this是什么呢?看看:

alert(this === eval("this"));
    的結(jié)果是什么?是true!這是因?yàn)閑val內(nèi)代碼被執(zhí)行的作用域就是當(dāng)前頁面本身的說。

JavaScript技術(shù)JScript中的"this"關(guān)鍵字使用方式補(bǔ)充材料,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 高h肉文np | 真实农村女人野外自拍照片 | 成人人观看的免费毛片 | 国产成人拍精品视频网 | 伊人久久五月丁婷婷 | 伊人影院香蕉久在线26 | 久久久免费热线精品频 | 一个人的视频在线观看免费观看 | 日日日夜夜在线视频 | 六六影院午夜伦理 | 国产精人妻无码一区麻豆 | 色狗av影院| 国产偷国产偷亚洲高清人乐享 | 天美传媒在线完整免费观看网站 | 男女XX00上下抽搐动态图 | 揉抓捏打抽插射免费视频 | 国产三级精品三级男人的天堂 | www.狠狠色 | younv 学生国产在线视频 | A级超碰视频在线观看 | 精品亚洲麻豆1区2区3区 | 国产精品永久免费视频观看 | 日韩国产精品欧美一区二区 | 4虎影院午夜在线观看 | 欧美一区二区三区激情视频 | 亚洲欧美一级久久精品 | 亚洲成人三级 | 日日撸影院在线 | 女侠含泪巨臀迎合79 | 久久青青无码AV亚洲黑人 | 网红主播 国产精品 开放90后 | 99re久久热在这里精品 | 秋霞午夜理论理论福利无码 | 亚洲色图在线视频 | 受喷汁红肿抽搐磨NP双性 | gay吊粗大双龙 | 国产原创剧情麻豆在线 | 精品一成人岛国片在线观看 | 亚洲AV人无码综合在线观看蜜桃 | 亚洲国产在线视频精品 | 45分钟做受片免费观看 |