Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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参数吗?_Jquery - Fatal编程技术网

我们应该在函数中强制转换JQuery参数吗?

我们应该在函数中强制转换JQuery参数吗?,jquery,Jquery,当您创建一个包含jquery的函数时,很容易确定哪些局部变量是jquery对象,但是当您的函数有一个参数时,重新转换jquery对象是一种好的做法吗 例: 我认为这样处理参数有几个优点。例如,您可以将DOM对象或选择器字符串直接传递给函数,而无需任何强制转换。在实用方面,您还将获得参数的jquery智能感知 然而,我不确定JQuery是否是这样使用的。。。重新转换jquery对象似乎忽略了原始对象(如prevObject)的某些属性。即使这是合法的,也可能对全球业绩产生影响 在每个函数中重新转换

当您创建一个包含jquery的函数时,很容易确定哪些局部变量是jquery对象,但是当您的函数有一个参数时,重新转换jquery对象是一种好的做法吗

例:

我认为这样处理参数有几个优点。例如,您可以将DOM对象或选择器字符串直接传递给函数,而无需任何强制转换。在实用方面,您还将获得参数的jquery智能感知

然而,我不确定JQuery是否是这样使用的。。。重新转换jquery对象似乎忽略了原始对象(如prevObject)的某些属性。即使这是合法的,也可能对全球业绩产生影响

在每个函数中重新转换jquery参数是一种良好的编程实践,还是我们应该假设每个使用函数的程序员都会遵循文档

或者我们应该假设每个使用您的函数的程序员都会遵循文档吗

不,你绝对不应该。假设程序员很笨,从来没有读过文档,并且知道它想用jQuery做些什么

再投一次也无妨。它只能帮助防止新手犯错误

即使这是合法的,也可能对全球业绩产生影响


jQuery的速度足够快,您不必担心这一点。

不,这与执行
$($(选择器))
相同。真的是多余的。创建jQuery对象后,它不会仅仅通过将其作为引用传递而更改为其他对象。一种常见的做法是对变量使用
$
前缀,以显示它们已经是jQuery对象。。像
$target
我个人在一些项目中这样做是因为它是一个安全网,因为有人没有通过jQuery对象。有点不错,因为它就像一个重载,因为你可以传递一个选择器,它会工作。缺点是,如果你已经有了这个对象,你可以很容易地嗅到它。这都是个人的观点。@charlietfl:这样写很明显,但在用javascript编写的大型系统中,我看到很多程序员对他们使用的变量(即dom vs jquery)感到困惑。
Test($("#myId"));
function Test(target){
  $(target).css( "color", "red" );
}