Javascript 用于处理作用域的JS变量的唯一前置命名空间字符
在不同的语言中,变量名中可以有不同的字符,并且它们还限制了第一个字符与其他字符之间的合法性 在JS中,哪些字符没有被其他库使用?这样,您就可以安全地命名一个变量和嵌套的变量,当您进入范围的兔子洞时,这些变量链接到全局变量 我目前使用的是underline.js,因此在变量前面加上Javascript 用于处理作用域的JS变量的唯一前置命名空间字符,javascript,Javascript,在不同的语言中,变量名中可以有不同的字符,并且它们还限制了第一个字符与其他字符之间的合法性 在JS中,哪些字符没有被其他库使用?这样,您就可以安全地命名一个变量和嵌套的变量,当您进入范围的兔子洞时,这些变量链接到全局变量 我目前使用的是underline.js,因此在变量前面加上。可能会有问题。JQuery也是如此,使用$。如果我尝试使用ruby标识符,例如@或~,我会遇到错误,我不想使用或#来避免与CSS选择器混淆 您知道(或建议)在变量名之前使用什么来避免混淆和重载 我想要一个/几个独特的“
。
可能会有问题。JQuery也是如此,使用$
。如果我尝试使用ruby标识符,例如@
或~
,我会遇到错误,我不想使用
或#
来避免与CSS选择器混淆
您知道(或建议)在变量名之前使用什么来避免混淆和重载
我想要一个/几个独特的“黄金”字符,但我意识到这可能取决于项目使用的库的堆栈,所以对于当前的项目,我使用的是:require、d3、jquery、下划线、主干、文本、分派
示例代码:
// for each measure in measuresCollection
_.each(this.measuresCollection.models, function(measure, index) {
var `this = this;
for (i=0; i<length; i++){
// ... some code with new preceding variable name `this
}
//对于MeasureCollection中的每个度量值
_.each(this.measureCollection.models,function)(度量,索引){
var`this=this;
对于(i=0;ii)如果您确实有问题,您可以对所有变量进行范围分析。var ls={};ls.myVar=“A”;ls.myVar2=2;那么您只需要选择一个不重叠的变量。这不是更像是名称空间问题而不是重载问题吗?我可能把术语弄混了,但我想最好说名称空间被重载了。您可以使用几乎任何unicode字符:varƒ=this;但是u和$是唯一允许的非wordy ascii字符。varƒthis=this;
因为这个而微笑