0
A
回答
1
全球window
对象已经有name
一个属性,它的原生代码的范围内。
0
window.name
是吸气/设置器设置窗口的名称。因此,它必须是string
。
试试这个:
你会看到,现在window.name
设置为"something,else"
;这是Array.toString()
的结果。
这正是这里发生的情况。当您拨打object
的toString
时,会得到[object Object]
。
如果您不使用预定义的window.name
getter/setter,则您的程序可以正常工作。
function Person(first, last) {
this.something = {
first,
last
};
}
f = {};
Person.call(f, "fsd", "fsd");
console.log(f.something);
g = window;
Person.call(g, "fsd", "fsd");
console.log(g.something);
更多的getter/setter方法在javascript:
二传手:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/set
吸气剂:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/get
相关问题
- 1. 为什么跨范围与指令范围不同步?
- 2. PDO对象不在函数范围内
- 3. 正确的范围引用窗口对象内的对象
- 4. 析构函数内的对象范围
- 5. 如何从全局范围调用jQuery范围内的函数?
- 6. 对象范围内的调用变量
- 7. Java中的对象范围内的对象范围
- 8. 为什么我应该使用块范围而不是函数范围?
- 9. 为什么不串范围
- 10. Javascript函数调用范围
- 11. 范围函数调用angularjs
- 12. 为什么变量不在范围内?
- 13. 为什么匿名函数会丢失对象范围?
- 14. 对象构造函数调用未声明在此范围内
- 15. 更新范围内对象
- 16. 对象内可变范围
- 17. 这个对象的范围是什么
- 18. Oop中的对象范围是什么?
- 19. 当不在对象范围内的静态函数使用$此
- 20. 与条件对象范围
- 21. JavaScript范围和角度js范围有什么不同
- 22. 测试范围在JavaScript中的函数的范围内的虚拟范围
- 23. JavaScript对象是函数的范围
- 24. 范围(10)中的[[范围(10)]范围内的[[0]]和范围[10范围内的范围10中的[0]之间的区别是什么?
- 25. 为什么基于范围的语句采用auto &&的范围?
- 26. 为什么是同时的,而范围
- 27. 对象_global的方法范围在命名范围内失败
- 28. 从另一个范围遍历范围内的对象?
- 29. 孩子范围到家长范围不同的孩子范围
- 30. Javascript回调函数范围?
嘛,干脆不要做'Person.call(窗口,...)'。这将尝试设置'window.name'。不,这与范围无关 - 如果您引用'this'关键字,那就是调用的* context *或* receiver *。 – Bergi