为什么';这';在Javascript的函数构造函数中不为空
我有以下代码为什么';这';在Javascript的函数构造函数中不为空,javascript,Javascript,我有以下代码 function Person(name){ console.log(this); this.firstname=name; } var sam=new Person("Sam"); console.log(sam); 输出为- 创建新对象时,最初应指向空对象。 为什么有更新的响应?Firefox日志 Object { } Object { firstname: "Sam" } 因此,你的浏览器控制台是在欺骗你当你按下chrome控制台中的“下拉”图标来检查对象
function Person(name){
console.log(this);
this.firstname=name;
}
var sam=new Person("Sam");
console.log(sam);
输出为-
创建新对象时,最初应指向空对象。
为什么有更新的响应?Firefox日志
Object { }
Object { firstname: "Sam" }
因此,你的浏览器控制台是在欺骗你当你按下chrome控制台中的“下拉”图标来检查对象时,它将开始在该内存位置评估对象本身。因此,当您按下它时,属性
firstname
已经填充
如果您尝试:
console.log(this.firstname);
你会看到:
未定义
萨姆
您也可以使用以下方法进行尝试:
console.log(JSON.stringify(this))
但这将禁用在对象中导航的功能。如果它只是一个普通对象,则可以执行以下操作:
console.log(JSON.parse(JSON.stringify(this)))
输出是-Response
-输出怎么可能是“Response”。。。当然是“人”object@JaromandaX,这是一个图像链接。我知道。。。为什么OP不能在问题响应中指出,是一个超链接,显示在code.console.log中设置对象名之前,该对象名已被控制台记录,这可能会产生误导。。。尝试console.log(JSON.stringify(this))
和console.log(JSON.stringify(sam))
获取真实快照谢谢您的解释