0

我想知道这两个脚本是否做同样的事情:

parseInt(num)?num=parseInt(num):num=str.length

num=parseInt(num)||str.length;

如果他们不是,我需要知道第二个做什么。

4

3 回答 3

2

是的,它们确实如此(但第二个效率稍高一些,因为它不必运行parseInt两次)。

于 2012-02-17T18:10:38.170 回答
2

是的,它们与后面的(短路评估)一样简洁和 JS(或其他支持它的语言)的美感:

num = parseInt(num) || str.length;

两者反过来都是这个的捷径:

if (parseInt(num)){
   num = parseInt(num);
}
else {
   num = str.length;
}

良好做法:

  • 不要在变量var之前忘记关键字,num否则它会进入全局范围。
  • 除非另有需要,否则始终指定一个parseInt基数parseInt(num, 10)

读数:

于 2012-02-17T18:11:31.727 回答
1

是的,他们是平等的。这也是一样的:

num = parseInt(num)?parseInt(num):str.length
于 2012-02-17T18:11:55.503 回答