1.布尔变量 true/false

2.数字非0、非NaN/0、NaN

3.对象非null/null、nudefined

4.字符串非空串/空串

if(!!str){

  //do something

}

数字的非空判断要考虑使用isNaN(),因为NaN和任何数据类型都不相等,包括它自己。

if(isNaN(a)){

  console.log(a is NaN);

}

5.if语句的简写:

a.三元运算符:

if (foo) bar(); else baz(); ==> foo?bar():baz();
if (!foo) bar(); else baz(); ==> foo?baz():bar();
if (foo) return bar(); else return baz(); ==> return foo?bar():baz();

b.使用&& 和 || 运算符

if (foo) bar(); ==> foo&&bar();
if (!foo) bar(); ==> foo||bar();

c.省略大括号【没理解】

if (foo) return bar(); else something(); ==> {if(foo)return bar();something()}

function getAttr(el, attrName){
var attr = {'for':'htmlFor', 'class':'className'}[attrName] || attrName;
};

d.

if(!!str){

  //强制转换成布尔类型来判断

}

注:不仅要找到解决问题的办法,还有用心找到更简洁的方法。

相关文章:

  • 2021-10-13
  • 2021-07-23
  • 2022-02-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-07
  • 2021-07-27
猜你喜欢
  • 2021-08-03
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-31
相关资源
相似解决方案