最开始在写js代码时,总会使用num=input || 1这种写法,来表示如果input有值的话,就把这个值赋给num,如果input为undefined的话就给num赋一个默认值,但是这种写法其实有很大的问题。
- 当input为0时,num=1
- 当input为NaN时,num=1
特别是当input为NaN时,极有可能之前的计算中出现了错误,而赋给一个默认值恰恰就掩盖了这个错误,同时也会错误的将0转化为1。
推荐的写法是:
num=(input==null? 1 : input);
最开始在写js代码时,总会使用num=input || 1这种写法,来表示如果input有值的话,就把这个值赋给num,如果input为undefined的话就给num赋一个默认值,但是这种写法其实有很大的问题。
特别是当input为NaN时,极有可能之前的计算中出现了错误,而赋给一个默认值恰恰就掩盖了这个错误,同时也会错误的将0转化为1。
推荐的写法是:
num=(input==null? 1 : input);