JScript 运算符

80酷酷网    80kuku.com

  js|jscript|运算

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

  算术运算符
  描述 符号
  负值 -
  递增 ++
  递减 —
  乘法 *
  除法 /
  取模运算 %
  加法 +
  减法 -

  逻辑运算符
  描述 符号
  逻辑非 !
  小于 <
  大于 >
  小于等于 <=
  大于等于 >=
  等于 ==
  不等于 !=
  逻辑与 &&
  逻辑或 ||
  条件(三元运算符) ?:
  逗号 ,
  严格相等 ===
  非严格相等 !==

  位运算符
  描述 符号
  按位取反 ~
  按位左移 <<
  按位右移 >>
  无符号右移 >>>
  按位与 &
  按位异或 ^
  按位或 |

  赋值运算符
  描述 符号
  赋值 =
  运算赋值 OP=

  杂项运算符
  描述 符号
  删除 delete
  typeof 运算符 typeof
  void void
  instanceof instanceof
  new new
  in in

  == (相等)与 === (严格相等)的区别在于恒等运算符在比较前强制转换不同类型的值。例如,恒等对字符串 "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)
  //执行某些命令(将要运行的)。



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: