我只是在我的一個簡單的Web應用程序中修復了一些錯誤,並且偶然發現了一些有趣的線條。 我不記得我爲什麼以這種方式來實現這些行。現在我將它們改爲「正常」語法,一切正常。 我的問題出於好奇:爲什麼這個方法可以工作?我希望有一個語法錯誤,但事實並非如此。代碼確實有效。JavaScript中的逗號運算符:預計會出現語法錯誤,但代碼運行正常
這是舊方法實現:
ListFillFilter: function(list){
if (OC.Shorty.Debug) OC.Shorty.Debug.log("using 'default' method to filter filled list");
// only makes sense for default OC.Shorty list
var data=new Array();
data['sum_shortys']=$('#desktop #list-of-shortys tbody tr').length;
data['sum_clicks']=0;
$('#desktop #list-of-shortys tbody tr').each(function(){
data['sum_clicks']+=parseInt($(this).attr('data-clicks'),10);
});
OC.Shorty.WUI.Sums.fill.apply(OC.Shorty.Runtime.Context.ListOfShortys,[data]),
// filter list
OC.Shorty.WUI.List.filter.apply(this,[list,'target',list.find('thead tr#toolbar th#target #filter').val()]),
OC.Shorty.WUI.List.filter.apply(this,[list,'title', list.find('thead tr#toolbar th#title #filter').val()]),
OC.Shorty.WUI.List.filter.apply(this,[list,'status',list.find('thead tr#toolbar th#status select :selected').val()])
// sort list
$.when(
OC.Shorty.Action.Preference.get('list-sort-code')
).done(function(pref){
OC.Shorty.WUI.List.sort(list,pref['list-sort-code']);
})
}, // OC.Shorty.Runtime.Context.ListOfShortys.ListAddInsert
在中間,你看5日線都開始以「OC.Shorty.WUI.Sums.fill.apply」。這些行以逗號(「,」)而不是分號(「;」)結尾。爲什麼這不會顯示爲語法錯誤?
可能重複的[Javascript語法:什麼逗號的意思?](http://stackoverflow.com/questions/3561043/javascript-syntax-what-comma-means) – 2012-08-03 11:41:19