Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 自定义Javascript库的标准符号_Jquery_Javascript - Fatal编程技术网

Jquery 自定义Javascript库的标准符号

Jquery 自定义Javascript库的标准符号,jquery,javascript,Jquery,Javascript,jQuery使用$(dollarsign),是否有一个标准符号可以用于我自己的自定义库?这样任何人都能理解它的习俗 有时候我只需要获取emementbyid和class,就可以添加class,也许还有一些更简单的东西。我想像$('someId').addClass('foo');但是我希望查看代码的其他人和我自己能够理解,它是一个自定义库,而不是jQuery。那么,有没有一个标准的标志 编辑:我可以使用一个名称空间,但它不如一个符号那么漂亮。我不明白为什么没有一个allready被很多人用过。没

jQuery使用$(dollarsign),是否有一个标准符号可以用于我自己的自定义库?这样任何人都能理解它的习俗

有时候我只需要获取emementbyid和class,就可以添加class,也许还有一些更简单的东西。我想像$('someId').addClass('foo');但是我希望查看代码的其他人和我自己能够理解,它是一个自定义库,而不是jQuery。那么,有没有一个标准的标志


编辑:我可以使用一个名称空间,但它不如一个符号那么漂亮。我不明白为什么没有一个allready被很多人用过。没有吗?

您可以使用您的库的名称:

myLibrary('#someId').addClass('foo'); 

这样就不会有任何混乱。请记住,
$
只是
jQuery
函数的别名,您可以在需要时重新定义它。

函数必须具有有效的变量名。 因此,根据规范a变量名可以以$、932;、小写/大写unicode等开头

不过,最好将模块模式与IIFE结合使用

IE如果您的库被分配给变量“myLibrary”

var myLibrary = (function() {
  return {
     someFunction: function(){ ... };
  }
})()
然后,您可以将其传递到IIFE(立即调用的函数表达式)中,并为其提供您自己的变量,例如使用JQuery的$

(function($) { 
    $.someFunction();
})(myLibrary);

由于
$
的作用域优先级,这样做不会有问题-当然,除非您想使用jQuery

否。。。但是,您可以使用
。\u看起来很难看,名称空间由多个符号组成(?)@Nile已经使用了这个@Mathias。在名称空间中使用一两个字母有什么问题吗?没有。。你可以使用任何一个,它不需要是一个标志。只要是有效的变量名,它可以是短名称、缩写或其他任何名称。请在开发人员下面加下划线:)我当然可以创建我想要的任何名称空间。或者我可以只使用$,但名称空间并没有这么漂亮,而且$会让人感到困惑。如果你不想让人感到困惑,那么你的选择是
\uuu
。使用我给出的第二种模式很好,因为您可以定义自己的变量,使其优先于可能已定义的任何其他变量-即如果您使用
\uu
,那么您不希望与underline.js库发生冲突OK,那么是最容易混淆的吗?但是下划线.js不起作用?@Alan
\uuu
可能也会让人困惑(并导致冲突),因为这是下划线.js的常见用法-请参阅我对这个问题的评论。我的问题的答案似乎是否定的!但这是最好的。是的,我可以。但是名称空间与单个符号不同。您至少应该有一个名称空间。如果你愿意,你可以把它映射到一个自定义标志上。没有既定的惯例。是的,当然。但不幸的是,这并不能回答问题。我可能不清楚,所以我更新了问题。