创建一个类:
使用new来创建dog2:
当不使用new创建时:
dog1为undefined,创建时没有用到new,this指向的是window,因此在全局下会添加一个name,而此时dog1是Dog函数的执行结果,因为没有return语句,所以最后返回来的是undefined;
使用安全模式可以避免这种错误的发生:
通过 this instanceof Dog 来判断当前this是否是Dog的实例,不是则new来实例化重新创建
创建一个类:
使用new来创建dog2:
当不使用new创建时:
dog1为undefined,创建时没有用到new,this指向的是window,因此在全局下会添加一个name,而此时dog1是Dog函数的执行结果,因为没有return语句,所以最后返回来的是undefined;
使用安全模式可以避免这种错误的发生:
通过 this instanceof Dog 来判断当前this是否是Dog的实例,不是则new来实例化重新创建