![](/img/trans.png)
[英]Javascript - Why are “function constructors” called “function constructors”?
[英]Why 'this' is not empty in function Constructors in Javascript
我有以下代码
function Person(name){
console.log(this);
this.firstname=name;
}
var sam=new Person("Sam");
console.log(sam);
输出为- 响应
创建新对象时,最初应指向一个空对象。 为什么有更新的响应?
当您在chrome控制台中按“下拉”图标检查对象时,它将-然后-在该内存位置开始评估对象本身。 因此,在您按下它的那一刻,属性firstname
已经被填充。
如果你试试:
console.log(this.firstname);
你会看见:
未定义
山姆
您也可以使用以下方法尝试:
console.log(JSON.stringify(this))
但是,这将禁用浏览对象的功能。 如果它只是一个普通对象,则可以执行以下操作:
console.log(JSON.parse(JSON.stringify(this)))
Firefox日志
Object { }
Object { firstname: "Sam" }
因此,您的浏览器控制台在骗您
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.