第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

js 中關(guān)于String對(duì)象的創(chuàng)建和銷毀,何時(shí)創(chuàng)建,何時(shí)銷毀

js 中關(guān)于String對(duì)象的創(chuàng)建和銷毀,何時(shí)創(chuàng)建,何時(shí)銷毀

胡子哥哥 2019-04-07 11:18:30
最近在看javascript權(quán)威指南,書上看到以下的代碼:vars='test';s.len=4;vart=s.len;console.log(t);這時(shí)候t報(bào)出undefined,為何???
查看完整描述

2 回答

?
蝴蝶刀刀

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個(gè)贊

vars='test';//s是`string`類型,不是`object`
s.len=4;//既然s不是object,怎么進(jìn)行屬性操作呢?
這里其實(shí)就引申出了包裝對(duì)象的概念,你可以近似理解為這一步等同于下面幾步操作
var_tmp_var_s=newString(s);//_tmp_var_s是`object`類型,可通過(guò)typeof()驗(yàn)證
_tmp_var_s.len=4;
delete_tmp_var_s;
vart=s.len;
同樣道理,s不是對(duì)象,沒(méi)有l(wèi)en屬性=>
var_tmp_var_s1=newString(s);
vart=_tmp_var_s1.len;//新創(chuàng)建的對(duì)象,可是沒(méi)這個(gè)屬性的,即undefined
delete_tmp_var_s1;
既然包裝對(duì)象用完就銷毀,沒(méi)啥實(shí)際意義,為啥還要存在?
這是因?yàn)樵紨?shù)據(jù)類型string,number等是沒(méi)有屬性的,只有object才有屬性
為了為原始數(shù)據(jù)類型提供屬性操作,才引申出包裝對(duì)象這個(gè)概念
比如當(dāng)我們?nèi)tring類型變量的length屬性也是隱含了這一步操作
varstr='hello!';
varlen=str.length;
等效于
varlen=newString(str).length;
                            
查看完整回答
反對(duì) 回復(fù) 2019-04-07
?
紅糖糍粑

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊

找到答案了,vars='test'創(chuàng)建的只是一個(gè)字符串,而不是對(duì)象,所以s.len=4這時(shí)候賦值的對(duì)象屬性是臨時(shí)創(chuàng)建對(duì)象的屬性,創(chuàng)建完就直接銷毀了,到了vart=s.len時(shí)候就找不到這個(gè)屬性了,所以顯示是undefined。
                            
查看完整回答
反對(duì) 回復(fù) 2019-04-07
  • 2 回答
  • 0 關(guān)注
  • 604 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)