Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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
Javascript 何时/为什么在变量前面加“前缀”$&引用;当使用jQuery时?_Javascript_Jquery_Variables_Dollar Sign - Fatal编程技术网

Javascript 何时/为什么在变量前面加“前缀”$&引用;当使用jQuery时?

Javascript 何时/为什么在变量前面加“前缀”$&引用;当使用jQuery时?,javascript,jquery,variables,dollar-sign,Javascript,Jquery,Variables,Dollar Sign,可能重复: 我看到人们在使用jQuery时在变量前面使用美元符号。这背后有什么原因吗?我缺少了一些基本的东西,还是这只是一种常见的做法?这是对jQuery包装对象的常见引用。它使阅读代码更容易知道哪些变量是jQuery包装的 //Item has been "cached" for later use in the script as a jQuery object. var $item = $(this); 根据我的经验,这只是一种可读性。一些开发人员喜欢在变量前面加前缀,以便易于识别。这

可能重复:


我看到人们在使用jQuery时在变量前面使用美元符号。这背后有什么原因吗?我缺少了一些基本的东西,还是这只是一种常见的做法?

这是对jQuery包装对象的常见引用。它使阅读代码更容易知道哪些变量是jQuery包装的

//Item has been "cached" for later use in the script as a jQuery object.
var $item = $(this);

根据我的经验,这只是一种可读性。一些开发人员喜欢在变量前面加前缀,以便易于识别。这也可能是一种PHP习惯,它逐渐进入了Javascript。

许多使用jQuery的人会在包含jQuery对象的变量前面加上$前缀,以便容易识别它们。考虑这个例子:

var $img = $(".someclass span.otherclass img");
/* somewhere later in the code */
$img.bind("click", function() {/*...*/});

使用JQuery的代码中的美元符号通常意味着所讨论的变量是JQuery变量(由JQuery包装的对象)。

对我来说,常见的做法是:

如果变量是私有的,我使用如下下划线:

(function(){
     var _foo = "bar";
})()
如果它是公共的,我将不使用下划线:

var foo = "bar"
如果是jQuery选择器,我将使用
$

var $foo = $('bar');
//then you can access it like this
$foo.attr('id')

这只是一种编码惯例,它允许您在代码后面快速引用变量的类型。

在变量名称前面使用$就是所谓的“匈牙利符号”,与整数计数、arry\u列表或str\u名称没有区别。这并没有错,但许多人认为这是一种过时的变量命名方式。在使用jQuery的环境中,这并不是过时的,而是一种常规做法。常规并不排除过时:对匈牙利符号和jQuery的精读:我从未在我所研究的代码中使用过--
$item
符号,甚至指示它包含jQuery对象。但是,这种用法可能是作为变量“表示jQuery对象”,而不是System Hungarian(通常被认为是“坏的类型”)。当然,由于缺少静态类型信息,行非常模糊。@Breakskater,赋值语句与任何代码一样具有自描述性。X=Y。。。别无选择。如果人们不必到这里来参考如何做某事或某事的含义,那么堆栈溢出、参考书等就没有意义了。;这一切都是“显而易见的”。事实上,我没有发现任何有用的东西。错过了那个!这个问题不是重复的——这个问题明确地关注jQuery上下文中的用法,并且收到了完全不同的一组响应。这似乎是一个很好的实践。