【发布时间】:2014-07-05 18:50:39
【问题描述】:
学习 Javascript 我正在寻找不同的方法来创建对象。似乎前进的方向是使用Object.create()
很难找到关于使用 Object.create() 的最佳实践的可靠答案,因为即使是特定的 Object.create() 文章似乎也略有不同。
我想做的是用自己封装的数据创建多个对象。
我喜欢使用封装,似乎对我有用的是
function Foo() {
var message = "Hello";
return {
bar:bar
}
function bar(){
return message;
}
}
World = (function(){
var obj = Foo();
var tank = Object.create(obj);
return {
baz:baz
}
function baz(){
alert(tank.bar());
}
})();
运行World.baz() 按预期工作,但我仍然不确定我是否正确。
所有答案将不胜感激,谢谢。
【问题讨论】:
-
Foo()已经返回了一个对象,为什么还要使用Object.create? -
如果我想用自己封装的数据创建多个对象
-
基于
Foo()返回的对象? -
是的,作为射击游戏的特定坦克。使用 Object.create(Foo) 似乎不起作用(起初看起来应该是合乎逻辑的)。当我调用 World.baz() 时,我得到未定义的函数
-
敢问 tank = {}; 有什么问题吗?
标签: javascript ecmascript-5 ecmascript-6