关于构造函数的一些输出值
function person(name,age){
this.name=name;
this.age=age;
}
var obj =new person('zhansan',18);
console.log(person.name); //person.name为什么输出值是person而person.age是undefined
console.log(person.age);
console.log(obj.name);
console.log(obj.age);
问题都在对应行中的注释中标注了。
person.name输出值是person而person.age是undefined,为什么?
21
收起
正在回答
1回答
同学你好, 对于你的问题解答如下:
因为name属于函数的默认属性,返回对应的函数名,所以person.name返回结果是person
因为在person函数内使用this设置的属性是挂载在实例化对象上,也就是说直接通过函数名person.age这种形式是访问不到的,所以返回的是undefined, 需要使用实例化对象(这里的obj)才可以访问到。
同学可以试着理解下,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星