我开始一个项目与jQuery。

在你的jQuery项目中有哪些陷阱/错误/误解/滥用/误用?


当前回答

使用字符串累加器样式

使用+运算符在内存中创建一个新的字符串,并将连接的值赋给它。只有在此之后,结果才被赋值给一个变量。 为了避免连接结果的中间变量,可以使用+=运算符直接分配结果。 慢:

a += 'x' + 'y';

速度:

a += 'x';
a += 'y';

基元操作可能比函数调用快

考虑在性能关键循环和函数中使用替代基元操作而不是函数调用。 慢:

var min = Math.min(a, b);
arr.push(val);

速度:

var min = a < b ? a : b;
arr[arr.length] = val;

请参阅JavaScript性能最佳实践

其他回答

尝试分离出匿名函数,这样就可以重用它们。

//Avoid
$('#div').click( function(){
   //do something
});

//Do do
function divClickFn (){
   //do something    
}

$('#div').click( divClickFn );

如果你多次bind()同一个事件,它将多次触发。为了安全起见,我通常总是unbind('click').bind('click')

我对JavaScript也这么说,但是jQuery, JavaScript永远不应该取代CSS。

另外,确保站点对于关闭JavaScript的人来说是可用的(现在不像以前那么重要了,但拥有一个完全可用的站点总是好的)。

使用ClientID在ASP中获取控件的“真实”id。网络项目。

jQuery('#<%=myLabel.ClientID%>');

另外,如果你在SharePoint内部使用jQuery,你必须调用jQuery. noconflict()。

跟“回购人”说的差不多,但不完全一样。

在开发ASP时。NET winforms,我经常这样做

$('<%= Label1.ClientID %>');

忘记#符号。正确的形式是

$('#<%= Label1.ClientID %>');