4.JavaScript学习笔记——JavaScript常用运算符

JavaScript运算符

1. 运算操作符

1.1 “+”

  • 数学运算;
  • 字符串连接

注意:任何数据类型加字符串都等于字符串

例1:

var a = "a" + "b";
document.write(a);

输出结果为“ab”。

var a = "a" + 1;
document.write(a);

输出结果为“a1”。

  • 加法运算自左向右

例2:

var a = "a" + 1 + 1;
document.write(a);

输出为“a11”。

var a = 1 + 2 + "a" + 1 + 3;
document.write(a);

输出为“3a13”。

var a = 1 + 2 + "a" +1 + 3;
document.write(a);

输出为“3a4”。

1.2 " -(减号) ", " *(乘号) ", " /(除号) ", " %(求余) ", " =(赋值) ", “()(括号)”

特别地,"0/0"返回运算结果是NaN (Not a Number),“3/0"运算结果是Infinity,”-6/0"运算结果是-Infinity。

其中"=“优先级最低,”()"优先级最高

1.3 " ++(自加) ", " --(自减) ", " += ", " -= ", " *= ", " /= ", " %= "

++a表示先自加再执行语句,a++表示先执行语句再自加。

例3:

var a = 10;
var b = ++a - 1 + a++;
document.write(b + " " + a);

输出"21 12"。

小练习:
调换a和b的值,例如原本a=123, b=234,现要求a=234, b=123

方法1

var a = 123;
var b = 234;

var c = a;
a=b;
b=c;

方法2

var a = 123;
var b = 234;

a = a + b;
b = a - b;
a = a - b;

2. 比较运算符

" > ", " < ", " == ", " >= ", " <= ", " != "

比较结果为boolean值

例4:

var a = 1 > 2;
document.write(a);

打印结果为“false”。

字符串的比较,是比较字符串的ASCII码值的大小。字符串比较的时候,字符串的大小是从最左边第一个字符开始比较,大者为大,小者为小,若相等,则继续比较后面的字符。长度不能直接决定大小,字符串的大小是由左边开始最前面的字符决定的。

注意,NaN==NaN是false,infinity==infinity是true。

3. 逻辑运算符

3.1 " && ", " || ", " ! " 与、或、非

注意区分," & ", " | "是按位与或

3.1.1 逻辑与

先看第一个表达式转换为布尔值的结果,如果结果为真,那么接下来看第二个表达式转换为布尔值的结果,后面以此类推。

expr1 && expr2: 若expr1能被转化为false,则返回expr1;否则返回expr2。(返回值都是某表达式的值)

例如:

var a = 1 && 2;  //return 2
var b = 0 && 1;  //return 0
var c = 1 && 2 + 2;  //return 4
var d = 0 && 2 + 2;  //return 0
var e = 1 && 2 && 3;  //return 3
var f = 1 && false && 2; //return false
3.1.1.1 能被转换为false的值
  1. false
  2. null
  3. 0
  4. NaN
  5. 空字符串(“”)
  6. undefined
3.1.1.2 与运算符的应用:短路语句

data && fn(data): 先判断data布尔值是否为false,若为false则后面语句不执行,否则执行。

3.1.2 逻辑或

先看第一个表达式转换为布尔值的结果,如果结果为假,那么接下来看第二个表达式转换为布尔值的结果,后面以此类推。

expr1 || expr2: 若expr1能被转化为true,则返回expr1;否则返回expr2。

例如:

var a = 4 || 3;  //return 4
var b = 0 || 3;  //return 3
var c = 0 || false;  //return false
var d = 0 || false || 1;  //return 1
3.1.3 逻辑非

如果操作数能够转换为true则返回false;否则返回true。

例如:

var a = !"";  //return true
var a = !123;  //return false

应用:!!作用是将表达式的值转化为布尔值。

例题

(window.foo || (window.foo = 'bar'));

这题注意运算符的优先级问题,()优先级较高,以此或运算符右边括号中的内容先执行,执行之后window.foo已被赋值。接下来执行逻辑或,左边为字符串’bar’,转化为true,后面不再执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值