JavaScript和对象初始化
JavaScript and object initialization
我决定用javascript"更深入",并在ECMA6之前尝试掌握ECMA5技能,现在我被困在对象创建和初始化,什么版本更好,更实用,更好阅读等等。用哪一个作为基础。所以我尝试的是:
版本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,这一个对我来说是最糟糕的,语法困难,错误空间更大,我甚至不确定它写得正确吗
(function () {
var magic = (function () {
magic.doStuff = function () {
alert('Wow!');
};
return magic;
});
document.addEventListener('DOMContentLoaded', function () {
(new magic()).doStuff();
}, false);
})();
Version4,这个是高级开发人员向我展示的,在指南中不太受欢迎,或者只是我没有注意到,但经过一些解释,它可能是我的最爱。
(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);
如果你使用一个对象的许多实例,那么使用原型会更快
Magic = function() {
};
Magic.prototype.doStuff = function() {
alert('Wow!');
};
相关文章:
- 通过iron-ajax初始化对象数组(链接到caller's元素的响应)
- 有了字段的名称,我如何用空白数据初始化对象的未定义字段
- 在fabric.js中初始化对象创建的子类
- 如何在 javascript 中初始化对象
- 用于初始化对象的编码模式 - 构造函数(新)与 Object.create()(Crockford)
- Javascript:按属性初始化对象
- Vue.js从 html 初始化对象属性
- 用数组初始化对象,Javascript
- 使用同一对象的其他属性初始化对象属性
- JQuery 不初始化对象
- 使用动态名称初始化对象 - coffeescript/node.js/javaScript
- 尝试在 JavaScript 中首先初始化对象
- 在javascript中初始化对象;t在编译时工作
- JavaScript 如何初始化对象使用数组
- 正在使用异步请求初始化对象
- 在JavaScript中初始化对象的空属性的正确方法是什么
- 在Javascript中创建和初始化对象成员的顺序
- 用javascript初始化对象
- 如何在javascript中初始化对象时使用元素名
- 如何正确初始化对象并从头开始