这就是我的问题,这些天酷儿如何布置他们的javascript?我一直在环顾四周,从我可以告诉每个人似乎做的不同有些人在对象文字中包含他们的功能,有些人似乎只列出了函数并且上面列出了所有变量。那么eveyone怎么想我应该如何布置我的代码。
var logsomestuff ="somestuff";
function logIt(){
console.log(logsomestuff);
}
或者
logIt = {
logsomestuff: "somestuff",
logIt: function(){
console.log(this.logsomestuff);
}
}
我不知道人们怎么想,布局你的js最好的方法?上面只是两个例子我敢肯定还有更多。谢谢anyhelp
答案 0 :(得分:3)
所有酷孩子都在使用函数闭包来调整他们的变量。
此代码立即执行,并且在全局范围内不留下任何内容,所有内容都悬挂在jQuery $ .app变量上。
(function($) {
$.app = $.app || {};
$.app = {
log : function(stuff) {
console.log(stuff);
},
helpers : {
convertJsonDateString = function(date) {
return "somecrazyregex";
}
};
})(jQuery);
答案 1 :(得分:1)
由于Dave提到的原因以及它实际上允许Javascript具有某种结构,闭包是迄今为止“酷”孩子的做事方式。我设置模块的方式通常是这样的:
var ModuleName = function(sandbox, options) {
//Class functions
function someButtonHandlerOrSomething() {
}
return {
init: function() { //Initialization logic }
load: function() { //Load }
destroy: function() //On exit }
}
}
我还使用核心函数来抽象jQuery这样的库,所以我的应用程序不依赖,这无疑会迫使我编写很多vanilla Javascript,但实际上我更喜欢它。
这段视频给了我很多帮助:http://www.youtube.com/watch?v=vXjVFPosQHw