JavaScript和对象初始化
问题描述:
我决定用JavaScript来“更深入”,并且在ECMA6之前尝试掌握ECMA5技巧,现在我被对象创建和初始化困住了,什么版本更好,更实用,更好阅读等。 哪一个坚持并用作基础。那么什么,我尝试:JavaScript和对象初始化
版本1,并且是最流行的谷歌搜索
;(function() {
var magic = magic || {};
magic.doStuff = function() {
alert('Magic');
};
window.magic = magic;
document.addEventListener('DOMContentLoaded', function() {
magic.doStuff();
}, false);
})();
2版,颇有为第1版,只是一点点不同的语法相同发现导游
(function() {
var magic = {
doStuff: function() {
alert('Magic');
}
};
document.addEventListener('DOMContentLoaded', function() {
magic.doStuff();
}, false);
})();
版本3,这一个对我来说是最糟糕的,语法困难,错误空间更大,我甚至不确定它是否写得相关ctly
(function() {
var magic = (function() {
magic.doStuff = function() {
alert('Wow!');
};
return magic;
});
document.addEventListener('DOMContentLoaded', function() {
(new magic()).doStuff();
}, false);
})();
4版,这是一个由资深开发出对我来说,没有导游这么流行,或者它只是我没有注意到这一点,但一些解释后,可能是我的最爱。
(function() {
var magic = (function() {
function publicDoStuff() {
alert('Magic');
}
return {
doStuff: publicDoStuff
};
})();
document.addEventListener('DOMContentLoaded', function() {
magic.doStuff();
}, false);
})();
答
我喜欢保持简单简单对象
var magic = {
doStuff: function() {
alert('Wow!');
},
};
document.addEventListener('DOMContentLoaded', function() {
magic.doStuff();
}, false);
如果你使用一个对象的多个实例,然后its faster to use prototype
Magic = function() {
};
Magic.prototype.doStuff = function() {
alert('Wow!');
};
版本1,2,3混合起来'魔术“和”魔术“。 – str
修正了,谢谢 – MyMomSaysIamSpecial