<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>new Boolean()</title> </head> <body> <script type="text/javascript"> function fn(arguments){ var num= 0,m=0; for (var i=0;i<arguments.length;i++){ if(typeof(arguments[i])!="number"){ continue; num += arguments[i]; m++; } } num=num/m; return num; } alert(fn(1,2,4,5,6)); </script> </body> </html>
if后面的条件成立时,如果只执行一行代码,大括号{}可省略;如果执行两行代码,{}必须包含这两行代码,否则语法默认只有第一句是条件成立时执行的。
如果if语句下只有一句代码
就像
if(typeof(arguments[i])!="number")
{ continue; }
是可以不写大括号的,在你不写大括号的时候,默认下面第一条代码是if中的语句
所以
if(typeof(arguments[i])!="number")
{ continue }
num += arguments[i];
m++;
和
if(typeof(arguments[i])!="number")
continue;
num += arguments[i];
m++;
表达的是一个意思
也可以去掉的啊,去掉了说明if还是只 有 continue; 这条语句了
不去才是正确的吧?
语法错误,所以效果出不来。
你说的什么意思 你这不是没去掉吗 如果if后只跟着一句话可以不加大括号的