我正在尝试更多地了解JavaScript OO编程,但我看到了创建类"类"对象的冲突方法.我想知道这两种方法是否存在实质性差异:
方法1
function Person(name){
this.name = name;
this.setName = function(val){
this.name = val;
}
this.getName = function(){
return this.name
}
}
var John = new Person("John");
Run Code Online (Sandbox Code Playgroud)
方法2
function Person(name){
var exports = {};
exports.name = name;
exports.setName = function(val){
this.name = val;
}
exports.getName = function(){
return this.name
}
return exports;
}
var Bob = Person("Bob");
Run Code Online (Sandbox Code Playgroud)
我已经看到这两种方法用于创建复杂的JavsScript对象.我甚至看过大型JS插件,比如jQuery使用方法2而不是方法1来设置他们的jQuery函数.其中一种比其他方式更快或更有效吗?
第一个创建该类型的对象Person,而第二个创建该类型的对象Object.第一个允许您将成员添加到原型中Person.
您可以将所有函数放在原型中,而不是为每个实例创建新函数:
function Person(name){
this.name = name;
}
Person.prototype = {
setName: function(val){
this.name = val;
},
getName: function(){
return this.name
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
294 次 |
| 最近记录: |