前端入门笔记之js(6)
JavaScript的运算符和表达式与Java 大部份相似
(1)赋值运算符
var x = 5;
(2)算数运算符
+: 遇到字符串变成连接(特别注意)
-:先把字符串转成数字然后进行运算
*: 先把字符串转成数字然后进行运算
/: 先把字符串转成数字然后进行运算
(3)逻辑运算符
&& ||(&& 优先级高于 ||)
A&&B:如果A为假,则不管后面的B是什么,直接短路不管了(false)
A||B:如果A为真,则不管后面的B是什么,直接短路进行(true)
(4)比较运算符
< > >= <= != ==
===:全等:类型与值都要相等
(5)三元运算符
条件?表达式1:表达式2
例子: 3<2?“大于”:“小于”
条件成立 :走表达式1
条件不成立:走表达式2
(6)void运算符
void 是一元运算符,它可以出现在任意类型的操作数之前执行操作数,却忽略操作数的返回值,返回一个 undefined。void 常用语 HTML 脚本中执行 JavaScript 表达式,但不需要返回表达式的计算结果。
xxxxxx
例1:
在下面代码中,使用 void 运算符让表达式返回 undefined。
<script>
var a = b = c = 2; //定义并初始化变量的值
d = void (a -= (b *= (c += 5))); //执行void运算符,并把返回值赋予变量d
console.log(a); //返回-12
console.log(b); //返回14
console.log(c); //返回7
console.log(d); //返回undefined
</script>
由于 void 运算符的优先级比较高,高于普通运算符的优先级,所以在使用时应该使用小括号明确 void 运算符操作的操作数,避免引发错误。
例2
在下面两行代码中,由于第一行代码没有使用小括号运算符,则 void 运算符优先执行,返回值 undefined 再与 1 执行减法运算,所以返回值为 NaN。在第二行代码中由于使用小括号运算符明确 void 的操作数,减法运算符先被执行,然后执行 void 运算,最后返回值是 undefined。
console.log(void 2 - 1); //返回NaN
console.log(void (2 - 1)); //返回undefined
例3
void 运算符也能像函数一样使用,如 void(0) 也是合法的。在特殊环境下一些复杂的语句可能不方便使用 void 运算符,而必须使用 void 函数。
纯文本复制
console.log(void (i = 0)); //返回undefined
console.log(void (i = 0;i++)); //返回undefined
(7)类型运算符
typeof: 判断数据类型 返回数据类型
instanceof:判断数据类型 是否是某种类型
例子:
<script>
var obj = new Object();
alert(typeof obj);//object
alert(obj instanceof Object);//true
</script>