关于new
function person(name) {
this.name = name;
this.say = function () {
console.log(this.name)
}
return 1;
}
var p1 = new person("小李");
console.log(p1)
如果写成var p1 = person("小李"); 是不是只看函数的返回值return 是什么
写成 var p1 = new person("小李"); p1就变成了函数 function person()?
15
收起
正在回答
1回答
同学你好,问题解答如下:
函数名加括号是调用函数,调用函数会返回值(即return)。person("小李")就是直接调用了函数,所以return返回了什么内容,p1接收的函数返回值就是什么。这里返回的是1,所以p1=1。
new是js中构造函数实例化的关键字,即new person("小李")就是person实例,实例对象继承了person。所以p1接收的是一个新对象,不是person函数本身,而是person的实例。
如果我的回答帮到了你,欢迎采纳,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星