Joh*_*ore 23 javascript jquery
我找到了以下js示例,并且对语法感到困惑.请注意,语句由逗号而不是分号分隔.逗号是js中有效的语句分隔符吗?我以前没见过这个.
$('selector').each(function () {
this.onclick = function () {
this.select();
},
this.onblur = function () {
},
this.onfocus = function () {
},
this.onkeyup = function () {
}
});
Run Code Online (Sandbox Code Playgroud)
Poi*_*nty 22
逗号充当单个表达式语句中表达式之间的分隔符.因此,(如果它已经完成而不是在"onkeyup"函数之后被切断)只是一个表达式语句.
没有理由像这样编码,或者至少没有真正的理由.在这种特殊情况下,它与由分号分隔的一系列单独表达式语句具有基本相同的效果.
逗号"运算符"在许多情况下是有问题的,但有时很有用:
var index, len;
for (index = 0, len = list.length; index < len; ++index) { ... }
Run Code Online (Sandbox Code Playgroud)
例如.它允许一个人将一个以上的表达式(通常是赋值)放入一个只允许一个表达式的语法区域设置中.在我看来,这确实是语法弱点的表现.
sme*_*ola 11
每个赋值实际上都是一个表达式(不是语句); 和表达式可以连接成一个更大的表达式,其最终值只是最后一个子表达式的值; 例如
alert( (w=1+1, x=2+3, y=3+3, z=4+4) ); // shows 8
Run Code Online (Sandbox Code Playgroud)
虽然您展示的代码是有效的,但我认为这不是一个好的模式.我会把它改成分号.