js中, 用变量或对象作为if或其他条件的表达式

您所在的位置:网站首页 js中的class里面可以直接声明变量吗 js中, 用变量或对象作为if或其他条件的表达式

js中, 用变量或对象作为if或其他条件的表达式

2024-07-05 19:18| 来源: 网络整理| 查看: 265

源: 因为js是弱语言, 就体现在js的变量是弱类型的, 在js中所有变量类型声明都用var, 而在其他强类型语言中,如java/c,必须有强制类型转换和类型检查才能编译通过等,

但是: 弱语言也有优势: 起码在写js条件判断表达式时可以直接用变量或者对象来判断

来人, 上代码:

// 代码很简洁, 先讨论当变量a为不同值时的条件表达式结果 var a; // 只声明变量 if (a) { alert('true'); } else { alert('false'); }

  

 

 

a的值 说明 表达式 if(a)的结果:  var a;  只声明不赋值  false  a = '' || a = "" || a = null || a = undefined  当a为空串或null或undefined时,评估结果为false  false  a = 'somevalue', ...  当为a赋值后, 评估结果true    a = ' ' || a = " "  * a为空格, 空格也是一个字符, 评估结果为true    a = 0 || a = 0.0  * 当a为数值0或0.0,0.00,评估结果为false,其他数值一律为true    a = f  当a为函数对象, 且不带括号, 该函数对象定义了评估结果就为true,否则为false     a = f()  当a为函数对象, 且带括号, 则先执行函数, 按照函数的返回结果来作为评估结果, 若无返回结果: 则为false,因为默认返回undefined   a = obj.pro1, a = obj.f1() 当a为对象的属性或方法时, 按照a为单独带队属性或方法时的一样进行评估  


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3