Javascript 我应该在哪里存储下划线.js迭代器?
假设我想要一些“全局”(用Javascript 我应该在哪里存储下划线.js迭代器?,javascript,module,iterator,global-variables,underscore.js,Javascript,Module,Iterator,Global Variables,Underscore.js,假设我想要一些“全局”(用?描述),在那里我可以存储并访问以下功能: ?.parseInt = function (str) { return parseInt(str, 10); }; ?.selected = function (x) { return x.selected; }; 例如,使用map或filter在其他地方: var intArray = _.map(stringArray, ?.parseInt); var selection = _.filter(myObjsHavin
?
描述),在那里我可以存储并访问以下功能:
?.parseInt = function (str) { return parseInt(str, 10); };
?.selected = function (x) { return x.selected; };
例如,使用map
或filter
在其他地方:
var intArray = _.map(stringArray, ?.parseInt);
var selection = _.filter(myObjsHavingSelectedAttribute, ?.selected);
我应该用什么来代替
?
?可以选择创建自己的名称空间对象或使用现有的名称空间对象
在纯JS中创建您自己的命名空间如下所示:
var myNamespace = myNamespace || {};
myNamespace.parseInt = function (str) { return parseInt(str, 10); };
myNamespace.selected = function (x) { return x.selected; };
_.parseInt = function (str) { return parseInt(str, 10); };
_.selected = function (x) { return x.selected; };
_.mixin({
parseInt: function (str) { return parseInt(str, 10); },
selected: function (x) { return x.selected; }
});
$.parseInt = function (str) { return parseInt(str, 10); };
$.selected = function (x) { return x.selected; };
使用下划线名称空间这样的现有名称空间如下所示:
var myNamespace = myNamespace || {};
myNamespace.parseInt = function (str) { return parseInt(str, 10); };
myNamespace.selected = function (x) { return x.selected; };
_.parseInt = function (str) { return parseInt(str, 10); };
_.selected = function (x) { return x.selected; };
_.mixin({
parseInt: function (str) { return parseInt(str, 10); },
selected: function (x) { return x.selected; }
});
$.parseInt = function (str) { return parseInt(str, 10); };
$.selected = function (x) { return x.selected; };
或者,特定于下划线,您可以使其在下划线命名空间的顶层可用,也可以在下划线包装器对象上可用,如下所示:
var myNamespace = myNamespace || {};
myNamespace.parseInt = function (str) { return parseInt(str, 10); };
myNamespace.selected = function (x) { return x.selected; };
_.parseInt = function (str) { return parseInt(str, 10); };
_.selected = function (x) { return x.selected; };
_.mixin({
parseInt: function (str) { return parseInt(str, 10); },
selected: function (x) { return x.selected; }
});
$.parseInt = function (str) { return parseInt(str, 10); };
$.selected = function (x) { return x.selected; };
使用jQuery名称空间如下所示:
var myNamespace = myNamespace || {};
myNamespace.parseInt = function (str) { return parseInt(str, 10); };
myNamespace.selected = function (x) { return x.selected; };
_.parseInt = function (str) { return parseInt(str, 10); };
_.selected = function (x) { return x.selected; };
_.mixin({
parseInt: function (str) { return parseInt(str, 10); },
selected: function (x) { return x.selected; }
});
$.parseInt = function (str) { return parseInt(str, 10); };
$.selected = function (x) { return x.selected; };
选择是创建自己的名称空间对象或使用现有名称空间对象 在纯JS中创建您自己的命名空间如下所示:
var myNamespace = myNamespace || {};
myNamespace.parseInt = function (str) { return parseInt(str, 10); };
myNamespace.selected = function (x) { return x.selected; };
_.parseInt = function (str) { return parseInt(str, 10); };
_.selected = function (x) { return x.selected; };
_.mixin({
parseInt: function (str) { return parseInt(str, 10); },
selected: function (x) { return x.selected; }
});
$.parseInt = function (str) { return parseInt(str, 10); };
$.selected = function (x) { return x.selected; };
使用下划线名称空间这样的现有名称空间如下所示:
var myNamespace = myNamespace || {};
myNamespace.parseInt = function (str) { return parseInt(str, 10); };
myNamespace.selected = function (x) { return x.selected; };
_.parseInt = function (str) { return parseInt(str, 10); };
_.selected = function (x) { return x.selected; };
_.mixin({
parseInt: function (str) { return parseInt(str, 10); },
selected: function (x) { return x.selected; }
});
$.parseInt = function (str) { return parseInt(str, 10); };
$.selected = function (x) { return x.selected; };
或者,特定于下划线,您可以使其在下划线命名空间的顶层可用,也可以在下划线包装器对象上可用,如下所示:
var myNamespace = myNamespace || {};
myNamespace.parseInt = function (str) { return parseInt(str, 10); };
myNamespace.selected = function (x) { return x.selected; };
_.parseInt = function (str) { return parseInt(str, 10); };
_.selected = function (x) { return x.selected; };
_.mixin({
parseInt: function (str) { return parseInt(str, 10); },
selected: function (x) { return x.selected; }
});
$.parseInt = function (str) { return parseInt(str, 10); };
$.selected = function (x) { return x.selected; };
使用jQuery名称空间如下所示:
var myNamespace = myNamespace || {};
myNamespace.parseInt = function (str) { return parseInt(str, 10); };
myNamespace.selected = function (x) { return x.selected; };
_.parseInt = function (str) { return parseInt(str, 10); };
_.selected = function (x) { return x.selected; };
_.mixin({
parseInt: function (str) { return parseInt(str, 10); },
selected: function (x) { return x.selected; }
});
$.parseInt = function (str) { return parseInt(str, 10); };
$.selected = function (x) { return x.selected; };
选择是创建自己的名称空间对象或使用现有名称空间对象 在纯JS中创建您自己的命名空间如下所示:
var myNamespace = myNamespace || {};
myNamespace.parseInt = function (str) { return parseInt(str, 10); };
myNamespace.selected = function (x) { return x.selected; };
_.parseInt = function (str) { return parseInt(str, 10); };
_.selected = function (x) { return x.selected; };
_.mixin({
parseInt: function (str) { return parseInt(str, 10); },
selected: function (x) { return x.selected; }
});
$.parseInt = function (str) { return parseInt(str, 10); };
$.selected = function (x) { return x.selected; };
使用下划线名称空间这样的现有名称空间如下所示:
var myNamespace = myNamespace || {};
myNamespace.parseInt = function (str) { return parseInt(str, 10); };
myNamespace.selected = function (x) { return x.selected; };
_.parseInt = function (str) { return parseInt(str, 10); };
_.selected = function (x) { return x.selected; };
_.mixin({
parseInt: function (str) { return parseInt(str, 10); },
selected: function (x) { return x.selected; }
});
$.parseInt = function (str) { return parseInt(str, 10); };
$.selected = function (x) { return x.selected; };
或者,特定于下划线,您可以使其在下划线命名空间的顶层可用,也可以在下划线包装器对象上可用,如下所示:
var myNamespace = myNamespace || {};
myNamespace.parseInt = function (str) { return parseInt(str, 10); };
myNamespace.selected = function (x) { return x.selected; };
_.parseInt = function (str) { return parseInt(str, 10); };
_.selected = function (x) { return x.selected; };
_.mixin({
parseInt: function (str) { return parseInt(str, 10); },
selected: function (x) { return x.selected; }
});
$.parseInt = function (str) { return parseInt(str, 10); };
$.selected = function (x) { return x.selected; };
使用jQuery名称空间如下所示:
var myNamespace = myNamespace || {};
myNamespace.parseInt = function (str) { return parseInt(str, 10); };
myNamespace.selected = function (x) { return x.selected; };
_.parseInt = function (str) { return parseInt(str, 10); };
_.selected = function (x) { return x.selected; };
_.mixin({
parseInt: function (str) { return parseInt(str, 10); },
selected: function (x) { return x.selected; }
});
$.parseInt = function (str) { return parseInt(str, 10); };
$.selected = function (x) { return x.selected; };
选择是创建自己的名称空间对象或使用现有名称空间对象 在纯JS中创建您自己的命名空间如下所示:
var myNamespace = myNamespace || {};
myNamespace.parseInt = function (str) { return parseInt(str, 10); };
myNamespace.selected = function (x) { return x.selected; };
_.parseInt = function (str) { return parseInt(str, 10); };
_.selected = function (x) { return x.selected; };
_.mixin({
parseInt: function (str) { return parseInt(str, 10); },
selected: function (x) { return x.selected; }
});
$.parseInt = function (str) { return parseInt(str, 10); };
$.selected = function (x) { return x.selected; };
使用下划线名称空间这样的现有名称空间如下所示:
var myNamespace = myNamespace || {};
myNamespace.parseInt = function (str) { return parseInt(str, 10); };
myNamespace.selected = function (x) { return x.selected; };
_.parseInt = function (str) { return parseInt(str, 10); };
_.selected = function (x) { return x.selected; };
_.mixin({
parseInt: function (str) { return parseInt(str, 10); },
selected: function (x) { return x.selected; }
});
$.parseInt = function (str) { return parseInt(str, 10); };
$.selected = function (x) { return x.selected; };
或者,特定于下划线,您可以使其在下划线命名空间的顶层可用,也可以在下划线包装器对象上可用,如下所示:
var myNamespace = myNamespace || {};
myNamespace.parseInt = function (str) { return parseInt(str, 10); };
myNamespace.selected = function (x) { return x.selected; };
_.parseInt = function (str) { return parseInt(str, 10); };
_.selected = function (x) { return x.selected; };
_.mixin({
parseInt: function (str) { return parseInt(str, 10); },
selected: function (x) { return x.selected; }
});
$.parseInt = function (str) { return parseInt(str, 10); };
$.selected = function (x) { return x.selected; };
使用jQuery名称空间如下所示:
var myNamespace = myNamespace || {};
myNamespace.parseInt = function (str) { return parseInt(str, 10); };
myNamespace.selected = function (x) { return x.selected; };
_.parseInt = function (str) { return parseInt(str, 10); };
_.selected = function (x) { return x.selected; };
_.mixin({
parseInt: function (str) { return parseInt(str, 10); },
selected: function (x) { return x.selected; }
});
$.parseInt = function (str) { return parseInt(str, 10); };
$.selected = function (x) { return x.selected; };
你真的可以把它们放在你喜欢的任何地方 如果我正确理解了您的问题,那么您关心的基本上是处理名称空间
zzz
用作全局对象,则某些人的函数将被覆盖
你的代码
zzz = {
makeWorldPeace : function() {
// TODO: implement this
}
};
你朋友的密码
zzz = {
makePizza : function() {
// ...
}
};
如果您尝试调用函数zzz.makeWorldPeace()
,您将得到一个TypeError
,它表示对象没有方法makeWorldPeace
zzz = {
makeWorldPeace: function() {
killAllHumans()
}
};
这可能不是你的初衷JSHelpers
,项目中唯一的东西var
很好地管理变量范围(function(export){
var intermediateFunction = function(){};
var zzz = { /* all the things */ };
export.zzz = zzz;
})(window)
console.log(intermediateFunction); // outputs: undefined
希望有帮助。你真的可以把它们放在你喜欢的任何地方 如果我正确理解了您的问题,那么您关心的基本上是处理名称空间
zzz
用作全局对象,则某些人的函数将被覆盖
你的代码
zzz = {
makeWorldPeace : function() {
// TODO: implement this
}
};
你朋友的密码
zzz = {
makePizza : function() {
// ...
}
};
如果您尝试调用函数zzz.makeWorldPeace()
,您将得到一个TypeError
,它表示对象没有方法makeWorldPeace
zzz = {
makeWorldPeace: function() {
killAllHumans()
}
};
这可能不是你的初衷JSHelpers
,项目中唯一的东西var
很好地管理变量范围(function(export){
var intermediateFunction = function(){};
var zzz = { /* all the things */ };
export.zzz = zzz;
})(window)
console.log(intermediateFunction); // outputs: undefined
希望有帮助。你真的可以把它们放在你喜欢的任何地方 如果我正确理解了您的问题,那么您关心的基本上是处理名称空间
zzz
用作全局对象,则某些人的函数将被覆盖
你的代码
zzz = {
makeWorldPeace : function() {
// TODO: implement this
}
};
你朋友的密码
zzz = {
makePizza : function() {
// ...
}
};
如果您尝试调用函数zzz.makeWorldPeace()
,您将得到一个TypeError
,它表示对象没有方法makeWorldPeace
zzz = {
makeWorldPeace: function() {
killAllHumans()
}
};
这可能不是你的初衷