当前位置: 首页 > 编程笔记 >

关于JavaScript中name的意义冲突示例介绍

储毅
2023-03-14
本文向大家介绍关于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> 

Google中运行结果:
http://img.blog.csdn.net/20140529073008296?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTA0Mzg0Mw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
这个结果是正确的,但是,改一个地方,结果就不同了
 
<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> 

运行结果:
 
这是为什么呢?就只是改了一个简单的变量名啊
问题出在了name身上,但是本人出入JS,不懂,在网上找了资料也没有结果,后面就去请教了一个师兄,也把问题放在了论坛上:http://bbs.csdn.net/topics/390799744?page=1#post-397474060,
name是window属性,作用是设置或返回窗口的名字,数据类型是字符串。因为第一句是function Person(){},已经结束了,所以下面的代码可能在全局context中,也就是说你以为alert(JSON.stringify(name));是输出的上面的var name,但实际上可能输出的是window.name。至于输出[Object object],这个类型是name的值的类型。
 类似资料:
  • 但是,我搞错了: **(退出#pid<0.70.0>)退出于:genserver.call(MySupervisor,{:start_child,[#pid<0.70.0>,:Monitor,{:nonode@nohost,#pid<0.81.0>},{:erlang,:apply,[#function<0.118488666 in file:test.exs>,[“long st ring”]]

  • 在功能文档中,据说vespa支持类似关键字高亮的搜索引擎。我找不到任何关于如何实现它的例子。

  • 混乱之处在于,如果三元条件返回false,它是否应该返回而不是T,因为我们可能只想返回属性,以防不是的扩展。 让我们举一个例子1 如果我理解正确的话,extends在本例中是false,因为没有从继承所有属性。因此,我们应该返回,即“id”,这是exclude运算符的期望输出。 那么,正确的定义是什么,即或?

  • 我遇到了一个罕见的,但令人沮丧的问题,Postgres似乎错过了我的主键冲突,并抛出一个错误的唯一索引,我没有把我的ON冲突。 例如: 表: 列: 有时这运行得很好,但有时它告诉我 我肯定我错过了什么,但我不知道是什么。我需要从集合中删除唯一列吗?为什么这不总是抛出一个错误?

  • 问题内容: 如何检测两个元素是否发生冲突? 这两个div是简单的彩色框,彼此垂直,因此没有复杂的形状或角度。 问题答案: 一般思路-获得框的偏移量和尺寸,并检查它们是否重叠。 如果要更新,可以使用: 另外,请注意,您可以针对特定示例优化功能。 因为它们是固定的,所以您不必重复读取框的尺寸(就像我在代码中一样)。您可以在页面加载时读取它们(将其读取到变量中),然后仅读取变量 小盒子的水平位置不会改变

  • 我正在测试