JS运算符全解析:从赋值到优先级
1.赋值运算符可以将符号右侧的值赋值给符号左侧的变量!DOCTYPE html html langen head meta charsetUTF-8 meta nameviewport contentwidthdevice-width, initial-scale1.0 titleDocument/title /head body script // 可以将符号右侧的值赋值给符号左侧的变量 // a5 等价于 a a5 // a-5 等价于 a a-5 // a*5 等价于 a a*5 // a/5 等价于 a a/5 // a%5 等价于 a a%5 // a5 等价于 a a5 // a||5 等价于 a a||5 let a 1; // //a 1;//输出2 //a 2;//输出3 // - //a - 1;//输出0 // * //a * 2;//输出2 // / //a / 2;//输出0.5 // % //a % 2;//输出1 // //a undefined;//输出undefined // || a || NaN;//输出1 console.log(a); //练习 var num 10; num 5; console.log(num);//输出15 var age 2; age * 3; console.log(age);//输出6 /script /body /html2.关系运算符通过关系运算符可以比较两个值之间的关系如果关系成立它会返回true如果关系不成立则返回false注意对于非数值的情况进行比较时会将其转换为数字比较!DOCTYPE html html langen head meta charsetUTF-8 meta nameviewport contentwidthdevice-width, initial-scale1.0 titleDocument/title /head body script //通过关系运算符可以比较两个值之间的关系如果关系成立它会返回true如果关系不成立则返回false //注意对于非数值的情况进行比较时会将其转换为数字比较 var result 5 10;//返回false result 5 4;//返回true result 5 5;//返回true console.log(result); console.log(1 true);//返回false console.log(1 true);//返回true console.log(1 0);//返回true console.log(10 null);//返回true console.log(true false);//返回true //如果两侧都是字符串实际上它是根据unicode编码表取比较 console.log(1 5);//返回true console.log(a b);//返回true //字符串多位拿第一位1跟5相比 console.log(115);//返回true console.log(abc b);//返回true console.log(11 5);//返回false /script /body /html3.相等运算符相等 !不相等 全等 !不全等与的区别是什么都可以做值的相等运算会做类型转换不会要求值和类型完全相等!DOCTYPE html html langen head meta charsetUTF-8 meta nameviewport contentwidthdevice-width, initial-scale1.0 titleDocument/title /head body script // 相等 !不相等 全等 !不全等 // 与的区别是什么 // 都可以做值的相等运算会做类型转换不会要求值和类型完全相等 let a 1; let b 1; // 会做类型转换只要值相等就返回true否则返回false console.log(a b);//返回true console.log(a ! b);//返回false // 不会做类型转换要求值和类型一致 console.log(a b);//返回false console.log(a ! b);//返回true var c 10; console.log(c 4);//返回false console.log(1 1);//返回true console.log(true 1);//返回true //特殊情况1null并没有转成number所以跟0相等运算返回false console.log(null 0); //特殊情况2undefined衍生自null所以这两个值做相等判断时会返回true console.log(undefined null); console.log(undefined null);//两个值类型不同全等返回false //特殊情况3NaN不是任何值相等包括它自己 console.log(NaN NaN);//返回false console.log(10 ! 5);//返回true console.log(10 ! 10);//返回false console.log(1 ! 1);//返回false console.log(123 123);//返回true console.log(123 123);//返回false /script /body /html4.三元运算符条件运算符也叫三元运算符语法条件表达式 语句1:语句2;执行的流程:条件运算符在执行时首先对条件表达式进行求值如果该值为true则执行语句1并返回执行结果如果该值为false则执行语句2并返回执行结果如果条件的表达式的求值结果是一个非布尔值会将其转换为布尔值然后再运算!DOCTYPE html html langen head meta charsetUTF-8 meta nameviewport contentwidthdevice-width, initial-scale1.0 titleDocument/title /head body script // 语法条件表达式语句1:语句2; 5 2 ? console.log(hello): console.log(hi);//hi // 需求输出最大值max let a 60; b 80; c 20; let max a b ? a : b; max c max ? c : max; console.log(max); //需求用户输入年龄如果年龄大于等于18岁输出成年否则输出未成年 let age prompt(用户输入年龄); age 18 ? console.log(成年) : console.log(未成年); /script /body /html5.运算符的优先级就和数学中一样在JS中运算符也有优先级比如先乘除后加减在js中有一个运算优先级的表,在表中越靠上 优先级越高优先级越高越优先计算如果优先级一样则从左往右计算但是表不用记如果遇到优先级问题可以用()来改变优先级!DOCTYPE html html langen head meta charsetUTF-8 meta nameviewport contentwidthdevice-width, initial-scale1.0 titleDocument/title /head body script // 优先级表不用记如果遇到优先级问题可以用()来改变优先级 var result 1 2 * (3 - 1);//输出5 result (1 || 2) 3; console.log(result result);//result3 /script /body /html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2424096.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!