码:
1)
function Person(name,age){
this.name=name;
this.age=age;
}
var p=new Person('stack',100);
console.dir(p);
console.info(p.name);//'stack'.
Run Code Online (Sandbox Code Playgroud)
但我想知道为什么我可以创建一个新人使用:
var p2=new Person(); //no error
Run Code Online (Sandbox Code Playgroud)
没有像这样的构造函数:
function Person(){}
Run Code Online (Sandbox Code Playgroud)
为什么?
2)
function Person(name,age){
var _name,_age;
this._name=name;
this._age=age;
}
var p=new Person('stack',100);
console.dir(p);
Run Code Online (Sandbox Code Playgroud)
这与1)的方式有什么区别?
如果不将参数传递给函数,它们将undefined在函数内部.您可以将任意数量的参数传递给函数,只需要名称即可.
第二个版本的唯一区别是您定义了两个不使用的局部变量,并且您以不同方式命名属性.注意与... var _name不一样this._name.
| 归档时间: |
|
| 查看次数: |
240 次 |
| 最近记录: |