Javascript:为什么这个变量初始化不会对数字生效?

bsc*_*han -1 javascript

我想在Javascript中初始化一些公共变量,但它只适用于字符串而不适用于数字.有什么原因?

var Person = function(_name) {
    this._name = _name;
    this.__age = 20;
    this._occupation = "Javascript Programmer";
};

var person = new Person("Chandra");
console.log(person._age); // Prints undefined
console.log(person._name); // Prints Chandra correctly.
Run Code Online (Sandbox Code Playgroud)

这是因为_age是一个数字而不是"自动装箱"成为数字对象吗?

小智 5

你第一次有一个额外的下划线.

this.__age = 20;
Run Code Online (Sandbox Code Playgroud)

应该

this._age = 20;
Run Code Online (Sandbox Code Playgroud)