$ target = $target在javascript \\\\ jQuery中需要语法说明

问题描述

| 下面提到的示例代码是Keith Wood的jQuery Countdown插件的一部分。可以解释一下
_attachCountdown: function(target,options) {
        var $target = $(target);
        if ($target.hasClass(this.markerClassName)) {
            return;
        }
        $target.addClass(this.markerClassName);
        var inst = {options: $.extend({},options),_periods: [0,0]};
        $.data(target,PROP_NAME,inst);
        this._changeCountdown(target);
    }
是否有理由专门定义$ target或与我们的简单变量(如var target)相同。 提前致谢。     

解决方法

        这是一个简单的变量,只是添加了ѭ1,以向代码阅读器指示内部已存储jQuery集合。 Javascript带有变量名,相当“宽松” ,,1ѭ没有特殊含义(与PHP相反,在每个变量名之前都需要使用PHP)。 此方法(
var $target=$(target);
)用于将
$(target)
的结果(jQuery集合本身,存储
target
)保存到变量中,因此不需要每次都需要创建jQuery集合。     ,        JavaScript中的“ 1”对变量名有效,对其功能没有任何意义。 最初的作者可能保存了两次击键(或者,如果包含shift,则为四个),并且为了方便起见将其重命名,但是留下了“ 1”前缀来表示它是一个jQuery包装的对象。 (将其视为旧的匈牙利符号传真机。)     ,        通过以下代码:
var $target = $(target);
脚本的作者将分配给以下变量:
$target
以下表达式的结果:
$(target)
这是将
target
变量传递给
jQuery()
函数的结果(
$()
仅是其别名)。 因此,总而言之,这里的内容是:
target
JS变量(可能是一些字符串决定了选择器),
$
JS函数(基本上是
jQuery
函数,但the1ѭ别名通常用于编写较短的代码),
$target
JS变量,用于存储
$(target)
(或
jQuery(target)
)表达式的结果