这不是关于如何获取键或值
在下面的示例中:
var exampleObject = {startIndex: 1, stopIndex: 2};
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到exampleObject这个对象的确切名称?" 我已经尝试了,exampleObject.constructor.name但我得到的只是" Object"结果.
你不能.*
首先,多个变量可以指向同一个对象.变量只是引用,而不是容器.对象没有一个真正的名称.这是一个例子:
function makeExample() () {
var x = {startIndex: 1, stopIndex: 2};
var y = x;
return y;
}
var z = makeExample();
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,对象的名称应该是什么?x,y,z?所有这些变量都不包含对象的副本,它们指向同一个对象.exampleObject是变量的名称,而不是对象的名称.
变量名只是程序员使用的标签,而不是代码.这与属性不同,属性是存储在对象内部并由键(字符串或符号)标识的数据.如果对象需要有一个名称,那么它应该是它自己的属性的一部分:
var exampleObject = { name: "exampleObject" };
Run Code Online (Sandbox Code Playgroud)
*从技术上讲,var在脚本的全局范围内创建的任何未作为模块执行的变量都将添加到window对象中.这是过去的遗物,您不应该依赖于此 - 事实上,现代JS代码应该用于let创建没有此行为的变量.
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |