我是Java语言的新手,现在正在学习它...
var person = function() {
this.name = "name"
};
var person2 = function() {
var obj = {};
obj.name = "name";
return obj;
};
假设我们有上面显示的两个函数。似乎可以使用任何一个函数来创建对象。例如)
var p = new person();
var p2 = new person2();
我的问题是:人与人2有什么区别?他们是完全一样的吗?如果不是,哪一种是更可取的使用方式?
谢谢
最佳答案
创建对象的常规方法是第一种方法。
第二种方法将创建两个对象,而一个将被丢弃。与第一个方法一样,将在调用该函数之前创建一个对象,但是由于该函数返回另一个对象,因此第一个对象将被丢弃,而将使用返回的对象代替。
两种方法之间的重要区别是第二种方法不能使用原型(prototype)。您在函数原型(prototype)中放入的任何内容都将应用于最终被丢弃的对象。
关于javascript - 制作javascript对象的两种不同方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18177600/