我是Javascript的新手,现在正在研究它......
var person = function() {
this.name = "name"
};
var person2 = function() {
var obj = {};
obj.name = "name";
return obj;
};
Run Code Online (Sandbox Code Playgroud)
我们假设我们有两个如上所示的函数.似乎可以使用任一函数创建对象.例如)
var p = new person();
var p2 = new person2();
Run Code Online (Sandbox Code Playgroud)
我的问题是:人与人之间有什么区别?它们完全一样吗?如果不是哪一种更优选的使用方式?
谢谢
创建对象的正常方法是第一种方法。
第二种方式将创建两个对象,其中一个将被丢弃。与第一个方法一样,在调用函数之前将创建一个对象,但由于函数返回另一个对象,因此第一个对象将被丢弃,而将使用返回的对象。
这两种方法之间的一个重要区别是第二种方法不能使用原型。您在函数原型中放入的任何内容都将应用于最终被丢弃的对象。