普通调用函数,若函数没有return语句,等于return undefined,
构造函数调用的时候,1创建一个新对象,2将构造函数的作用域赋给新对象(this赋给了这个新对象),3执行构造函数中的代码(为这个新对象添加属性),4返回新对象
function A(){//1这一步是看不到的,创建一个新对象; var a = {};//2第二步赋给新对象。 this = a;//3执行 alert(this);//4返回新对象 return this;}A.prototype.a = 1;console.log(new A().a);
function A() { alert(this); return {a: ‘a‘}; } A.prototype.a = 1; console.log(new A().a);new A()与原型没关系,因为返回的不是this,是自己返回的对象的属性a;
,
时间: 2024-10-13 07:12:54