Javascript 教程 在线

500JavaScript比较

三目运算 

8>5  ?    true   :    false   ;

条件 ?  值1   :   值2 ;

翻译成人话就是  8大于5吗?   大于 就是 true  大不于就是 false;

判断?号前面的条件是否成立, 成立 执行第一个值,不成立,执行第二个值。

499JavaScript 比较和逻辑运算符

JavaScript多元运算符

function test(p){
    var a=5,b=12;
    return p>1?p<b?p>b:p=6:p=3; // 这一行中出现了多个问号和冒号,看起来很乱怎么办呢
}

document.write(test(9));

其实很简单,寻找到多元运算符的头 ? 和尾 : 就好办多了

就成了这样:

p>1?p<b?p>b:p=6:p=3

p>1? 整体 :p=3

1、当 p>1 时返回 pb:p=6

  • 1.1、当 pb
  • 1.2、当 p>=b 时返回 p=6

2、当 p<=1 是返回 p=3 所以先执行 1

3、实例中当 p=9 的时候,返回 pb:p=6 接着执行 1.1,当 p=9<12 时,返回 p>b,即 9>12,条件不成立所以最终结果为 false。

498JavaScript运算符

JavaScript == 与 === 区别

1、对于 string、number 等基础类型,== 和 === 是有区别的

  • a)不同类型间比较,== 之比较 "转化成同一类型后的值" 看 "值" 是否相等,=== 如果类型不同,其结果就是不等。
  •  b)同类型比较,直接进行 "值" 比较,两者结果一样。

2、对于 Array,Object 等高级类型,== 和 === 是没有区别的

进行 "指针地址" 比较

3、基础类型与高级类型,== 和 === 是有区别的

  • a)对于 ==,将高级转化为基础类型,进行 "值" 比较
  • b)因为类型不同,=== 结果为 false

497JavaScript运算符

数字与 null(空值) 相加,null 转化为数字 0:

var car=null+3+4;    // 结果为7

字符串与 null(空值) 相加,null 转化为字符串:

var car=null+"a";    // 结果为 nulla

496JavaScript运算符

取模运算的结果符号只与左边值的符号有关:

var x = 7 % 3; // 结果为 1
var y = 7 % (-3); // 结果为 1
var z = (-7) % 3; // 结果为 -1
  • 如果 % 左边的操作数是正数,则模除的结果为正数或零;
  • 如果 % 左边的操作数是负数,则模除的结果为负数或零。