位置:海鸟网 > IT > JavaScript >

JScript 的运算符

JScript 具有全范围的运算符,包括算术、逻辑、位、赋值以及其他某些运算符。

计算逻辑位运算赋值杂项     

描述符号描述符号描述符号描述符号描述符号

负值-逻辑非!按位取反~赋值=删除delete

递增++ 小于<按位左移<< 运算赋值oP= typeof 运算符typeof

递减-- 大于>按位右移>>   void void

乘法*小于等于<=无符号右移>>>   instanceofinstanceof

除法/大于等于>=按位与&   newnew

取模运算%等于==按位异或^   inin

加法+不等于!=按位或|     

减法-逻辑与&&      

  逻辑或||      

  条件(三元运算符)?:       

  逗号,      

  严格相等===      

  非严格相等!==       


== (相等)与 === (严格相等)的区别在于恒等运算符在比较前强制转换不同类型的值。例如,恒等对字符串 "1" 与数值 1 的比较结果将为 true。而严格相等不强制转换不同类型的值,因此它认为字符串 "1" 与数值 1 不相同。

基本的字符串、数值和布尔值是按值比较的。如果它们的值相同,比较结果为相等。对象(包括Array、Function、String、Number、Boolean、Error、Date以及 RegExp 对象)按引用比较。即使这些类型的两个变量具有相同的值,只有在它们正好为同一对象时比较结果才为 true。

例如:

// 具有相同值的两个基本字符串。var string1 = "Hello";var string2 = "Hello";// 具有相同值的两个 String 对象。var StringObject1 = new String(string1);var StringObject2 = new String(string2);// 比较结果为 true。if (string1 == string2) // 执行某些命令(将要运行的)。// 比较结果为 false。if (StringObject1 == StringObject2) //执行某些命令(不会运行)。// 要比较 String 对象的值,// 用 toString() 或者 valueOf() 方法。if (StringObject1.valueOf() == StringObject2) //执行某些命令(将要运行的)。