国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

關(guān)于JavaScript中name的意義沖突示例介紹

2024-05-06 16:06:48
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要介紹了關(guān)于JavaScript中name的意義沖突,需要的朋友可以參考下

在昨天的《Javascript權(quán)威指南》學(xué)習(xí)筆記之十:ECMAScript 5 增強(qiáng)的對(duì)象模型一文中,對(duì)于一段代碼的調(diào)試出現(xiàn)了一個(gè)奇怪現(xiàn)象,現(xiàn)將源代碼貼在下面:

復(fù)制代碼 代碼如下:


<script type="text/javascript">
function Person(){}
var per = new Person;
Object.defineProperties(per,
{
"nickName":
{
value:"Tom",
writable:true
},
"age":
{
value:20,
configurable:false,
writable:false
}
});

var o = Object.getOwnPropertyDescriptor(per,"nickName");
alert(JSON.stringify(o));
</script>


Google中運(yùn)行結(jié)果:
?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTA0Mzg0Mw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
這個(gè)結(jié)果是正確的,但是,改一個(gè)地方,結(jié)果就不同了

復(fù)制代碼 代碼如下:


<script type="text/javascript">
function Person(){}
var per = new Person;
Object.defineProperties(per,
{
"nickName":
{
value:"Tom",
writable:true
},
"age":
{
value:20,
configurable:false,
writable:false
}
});

var name = Object.getOwnPropertyDescriptor(per,"nickName");
alert(JSON.stringify(name));
</script>


運(yùn)行結(jié)果:

關(guān)于JavaScript中name的意義沖突示例介紹

 
這是為什么呢?就只是改了一個(gè)簡(jiǎn)單的變量名啊

問(wèn)題出在了name身上,但是本人出入JS,不懂,在網(wǎng)上找了資料也沒(méi)有結(jié)果,后面就去請(qǐng)教了一個(gè)師兄,也把問(wèn)題放在了論壇上:?page=1#post-397474060,

name是window屬性,作用是設(shè)置或返回窗口的名字,數(shù)據(jù)類型是字符串。因?yàn)榈谝痪涫莊unction Person(){},已經(jīng)結(jié)束了,所以下面的代碼可能在全局context中,也就是說(shuō)你以為alert(JSON.stringify(name));是輸出的上面的var name,但實(shí)際上可能輸出的是window.name。至于輸出[Object object],這個(gè)類型是name的值的類型。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 潞西市| 建始县| 永州市| 河间市| 屏东县| 集贤县| 腾冲县| 共和县| 任丘市| 嘉义市| 化隆| 苍南县| 定南县| 赣榆县| 平泉县| 烟台市| 定边县| 绍兴市| 平邑县| 华亭县| 福安市| 富源县| 郁南县| 长白| 达尔| 广丰县| 灌阳县| 阳信县| 宁都县| 页游| 夏河县| 湘阴县| 望江县| 容城县| 凭祥市| 四川省| 比如县| 沽源县| 武邑县| 泗阳县| 肥乡县|