JavaScript中的常用运算符

一、算术运算符

算术运算符包括常见的:+、- 、* 、/ 、% 、++ 、--

<1>模运算符(%)常用来判断奇偶性:x%2==0 偶数, x%2!=0 奇数 ;还用来保证参与运算的结果永远不大于除数。

<2>不论是++还是--,永远都是递增或递减后的数值存回原变量中

注:n++和++n的异同处!

n++和++n这两种表达式的共同点都是在n递增1后再存回变量值。不同点在于表达式是否参与了程序结构。如果参与了程序结构,那么程序结构中的取值不同

n++:返回n的旧值

++n:返回n的新值

笔试面试题:(要注意分辨变量初始值和最终参与运算值) var n=6; console.log(n++ + ++n + n++); //22 // 6->6 // + 7->8 // + 8->8 6+8+8=22

二、关系运算符

关系运算符主要包括:> 、< 、 = 、>= 、<= 、== 、!=

<1>默认将所有类型数据转换为数字再行比较

<2>如果参与运算的两值都为字符串,依次取出每个字符串的每位字符依次PK,PK unicode号(万国语言编码号)

var str1="bf";
var str2="bd";
console.log(str1<str2);            //false

三、扩展赋值运算符

扩展赋值运算符包括:+= 、-= 、*= 、/= 、%=

一般用于累加,累减,累乘,累除原变量。

例如:n=n+m—>n+=m

四、逻辑运算符

逻辑运算符包括:&&(与) 、|| (或) 、!(非)
  1. 逻辑运算是指将多个关系运算综合起来,在得出结论后,返回boolean 值的运算
  2. 程序执行效率很高,只要有一个不符条件就会终止代码的运行,不同于 数学表达式2<a<5,程序需要分布判断。
<1>a&&b - 只有当条件a与条件b均为true时,最终结果为 true <2>a&&b - 当a和b都是数字时,得到的也是数字(0是假的, 其余都是真的。如果有0,得到的就是0,否则就是 表达式的最后一个值)
var a=8;
console.log(2<a<5);        //true
//          2<8 ->true:1
//                1<5->true
console.log(2<a&&a<5);    //false
console.log(2<3&&2<9);        //true
console.log(2>5&&1<7);        //false

console.log(1&&2&&3&&4);      //4
console.log(2&&5&&0&&7);     //0
<3>a||b - a和b中有一个为真,结果便为真。(程序从左到右 执行,遇到一个为真的条件就会停止执行) <4>a||b - 当a与b都为纯数字时,得到的也是数字,得到的 是第一个非0的数字
console.log(2<5||4>9);            //true
console.loh(2>5||4>9);            //false
console.log(0||3||6);             //3
console.log(1||4||2||7);          //1
<5>!a - 取反,当a为真时,结果为假;当a为假时,结果为真 【要注意加()与不加的区别!若不加括号,就会先行执行!a,!a->false->0,随后0再参与运算】
var a=6;
consol.log(!a<3);                        //true
console.log(!a<8);                       //true
console.log(!(a<3));                     //true
console.log(!(a<8));                     //false

五、三目运算符(三元运算/条件运算)

判断式?值1(判断式为真时所取值):值2(判断式为假所取值) 例子: n%2==0 ? "偶数" : "奇数"
//克莱托指数KLT: kg/(身高*身高M)
//        KLT    >25:过胖    <20:过瘦    其余正常

var m=parseFloat(prompt("请输入你的身高(m)"));
var kg=parseFloat(prompt("请输入你的体重(kg)"));
var KLT=kg/m/m;
console.log(KLT>25?"过胖":(KLT<20?"过瘦":"正常"));
经验分享 程序员 微信小程序 职场和发展