JavaScript核心语法-运算符

算数运算符

var str1 = '化物语'
var str2 = '100'
var boo = true

//加法运算
var result1 = num + 200
console.log(result1)//300

//字符串进行加法运算——>字符串连接
var result2 = str1+200
console.log(result2)//化物语200
console.log(typeof result2)//string

var result3 = str2+200
console.log(result3)//100200
console.log(typeof result3)//string

/*布尔类型加法运算——>将布尔类型转化为数字值,ture=1 false=0 在进行计算*/
var result4 = boo+200
console.log(result4)//201
console.log(typeof result4)//number

//减法运算
var result5 = num-100
console.log(result5)//0

/*字符串减法运算——>先装化为数字值*/
var result6 = str1-100
console.log(result6)//NaN

var result7 = str2-100
console.log(result7)//0

//布尔类型减法运算——>先转化为数字值在计算
var result8 = boo-100
console.log(result8)//-99

/*除法:0如果作为除数——>无穷大*/
/*除法与乘法与加减法一致*/

求余运算符

用于计算两个运算数整除后的余数

//余数的结果是正是负,与除数正负无关,只与被除数正负有关
console.log(8 % 3); //2
console.log(8 % -3);//2
console.log(-8 % 3);//-2
console.log(-8 % -3);//-2

/*与减法一样,非数字字符串运算为NaN*/
console.log('化物语' % 3);//NaN

自增运算符、自建运算符

自增运算符用于整数值逐渐+1/自减运算符-1

var num = 100
console.log(num)

/*前置自增运算符
*++变量名
*先自增,再赋值*/
var result1 = ++num
console.log(result1)//101
console.log(num)//101

/*后置自增运算符
* 变量名++
* 先赋值,在自增*/
var result2 = num++
console.log(result2)//100
console.log(num)//101

比较运算符

JavaScript中的比较运算符主要比较两个操作数是否相等,同等,大小等情况

大于与小于比较运算符

/*number类型*/
console.log(3 > 2);//true
console.log(3 < 2);//false
console.log(3 >= 3);//true

/*boolean类型,会将boolean转化为number再比较*/
console.log(true>false);//true
console.log(true<false);//false

/*string类型
   * 英文或中文 -> 将文本转换成 Unicode 码 - 对应具有数字值
   * 英文单词 -> 从左至右的依次比较字母 Unicode 码的大小 */
console.log('a' < 'b');// true
console.log('a' > 'A');// true
console.log('abc' > 'cba');// false
console.log('abc' > 'acd');// false
console.log('我' > '你');// true

相等与不等比较运算符

/*number类型*/
console.log( 3 == 3 );//true
console.log( 3 != 3 );//false
console.log( 3 == 2 );//false
console.log( 3 != 2 );//true

/*boolean类型*/
console.log(true == true);// true
console.log(true == false);// false

console.log(true == 1);// true

/*string类型*/
console.log('a' == 'a');// true
console.log('a' == 'b');// false
/*只比较值而不比较类型*/
console.log('100' == 100);// true

/*由于null和undefined都为空,所以相等*/
console.log(null ==undefined)//true

全等与不全等比较运算符

// 全等与不全等 - 不仅比较值,还比较类型
console.log(10 === 10);// true

console.log('10' === 10);// false

/*相等与不相等-不比较类型*/
console.log('10' == 10);// true

isNaN()函数

作用:判断当前值是否为NaN

  • true – 表示当前值是 NaN(不是一个数字值)
  • false – 表示当前值不是 NaN(不是一个数字值)
console.log(isNaN(100));// false
console.log(isNaN(Number('化物语')));// true

inFinite()函数

作用:判断当前值是否为无穷大

  • false – 表示当前值是无穷大
  • true – 表示当前值是有限数值
var result = 100/0;
console.log(result);// Infinity
console.log(isFinite(result));// false

逻辑运算符

JavaScript中的逻辑运算符,基本用法是用于布尔类型的计算

/*逻辑与运算符*/
console.log(true && true);// true
console.log(true && false);// false
console.log(false && true);// false
console.log(false && false);// false
/*
    将逻辑与运算符的两个操作数,转换为布尔类型
    * 当左边的操作数为true时,结果为右边操作数的值
    * 当左边的操作数为false时,结果为左边操作数的值
 */
console.log(100 && 1);// 1
console.log(1 && 0);// 0
console.log(0 && 1);// 0
console.log(0 && 0);// 0


/*逻辑或运算符*/
console.log(true || true);// true
console.log(true || false);// true
console.log(false || true);// true
console.log(false || false);// false
/*
    将逻辑与运算符的两个操作数,转换为布尔类型
    * 当左边的操作数为true时,结果为左边操作数的值
    * 当左边的操作数为false时,结果为右边操作数的值
 */
console.log(100 || 1);// 100
console.log(1 || 0);// 1
console.log(0 || 1);// 1
console.log(0 || 0);// 0

/*逻辑非运算符*/
console.log(!true)//false
   /*
     *如果逻辑状态为true,则通过逻辑非运算符改为false
   */
console.log(!1)//false

赋值扩展运算符

var a = 2 , b = 3 ;
var c = a + b;
console.log(c);//5

/*var a = a + b;//重复赋值
console.log(a);//5*/

/*
* a += b 等同于  a = a + b
*/
a += b;
console.log(a);//5

条件运算符

/*
?前为表达式,先判断表达式真假
?后为两个给定指令,用:隔开
 根据表达式判断结果执行指令
 */
var result = 3>2 ? '对':'错'
console.log(result)//对

var score = 95;
score > 90 ? console.log('优秀') : console.log('及格');

条件运算符嵌套

var score = 55;
/*
    嵌套条件运算符
    * 优点 - 扩展了条件运算符本身的计算能力
    * 缺点
      * 可读性比较差
      * 性能随着嵌套的层级越多越差
    * 建议 - 最多不要超过三层嵌套
 */
var result = score > 90 ? '优秀' : (score > 80 ? '良好' : (score > 60 ? '及格' : '不及格'));
console.log(result);
    原文作者:李威振
    原文地址: https://segmentfault.com/a/1190000015923748
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞