>

关于JavaScript中name的意义争辨示例介绍

- 编辑:正版管家婆马报彩图 -

关于JavaScript中name的意义争辨示例介绍

在昨日的《Javascript权威指南》学习笔记之十:ECMAScript 5 加强的对象模型一文中,对于一段代码的调解现身了三个意外现象,现将源代码贴在上边:

复制代码 代码如下:

<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>

谷歌中运作结果:

其一结果是不错的,不过,改贰个地点,结果就差异了

复制代码 代码如下:

<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>

运作结果:
图片 1 
那是干吗吧?就只是改了八个简练的变量名啊

主题材料出在了name身上,可是自个儿出入JS,不懂,在互连网找了素材也并未有结果,前面就去请教了三个师兄,也把题目放在了论坛上:

name是window属性,作用是安装或回到窗口的名字,数据类型是字符串。因为第一句是function Person(){},已经竣事了,所以上面包车型地铁代码恐怕在大局context中,也正是说你感觉alert(JSON.stringify(name));是出口的上边的var name,但事实上也许输出的是window.name。至于输出[Object object],那么些种类是name的值的门类。

5 加强的指标模型一文中,对于一段代码的调节和测量检验出现了贰个竟然景观,现将源代码贴在...

本文由web前端发布,转载请注明来源:关于JavaScript中name的意义争辨示例介绍