0

これらの2つのスクリプトが同じことをするかどうか知りたいです:

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

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

そうでない場合は、2番目が何をするかを知る必要があります。

4

3 に答える 3

2

はい、できます(ただし、2回実行する必要がないため、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
  • 特に必要な場合を除き、 parseIntegには常にベースを指定してくださいparseInt(num, 10)

読書:

于 2012-02-17T18:11:31.727 に答える
1

はい、それらは等しいです。これも同じです:

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