js、运算符
来源:互联网 发布:吕雉与戚夫人知乎 编辑:程序博客网 时间:2024/06/05 08:51
一、一元运算符
一元符串:一元运算符只一个参数,就是要操作的对象或者值,是ECMAScript中最简单的运算符
//自加加与自减减运算var an = 12;var num = ++an; //这里就相当于 var num = an + 1;var an2 = 12;var num2 = --an2; //这里就相当于 var num = an - 1;//当++或者--再后时// var an = 12;// var num = ++an; //这里分两步分析: 第一步:an = an + 1,第二步:var num = an;// var num = an++; //这里分两步分析:第一步:var num = an,第二步:an = an+ 1;//减减同理
二、算术运算符
算术运算符有:加(+),减(-),乘(*),除(/),取模(%);
// 减(-),乘(*),除(/);var num = 12;var num1 = 13;alert(num - num1);alert( "12"-13 ); //打印-1alert( "12"-"20" ); //打印-8alert( "胖胖"-"20" ); //打印NaN// 总结:当进行减(-),乘(*),除(/) 会先把运算数转换成Number类型,然后再做数学计算,// Number类型的NaN与任何值做运行,返回的结果都是NaN;// javascript中的加法运算var num = 5;var an = 6;alert(num + an);alert( "5" + 6 ); //56;var str = "5";var num = 6;var num2 = str + num;alert(num2);alert(typeof num2); //string//总结:加号有两个作用 //1:当两边的运算数类型都为Number类型时,那就是普通的加法运算 //2:当两边有字符串时,这时会把两边都转换成String类型,然后字符串的拼接// 被除数÷除数=商// 取模(%);var num = 3; //除数alert(0%num); //打印0alert(1%num); //打印1alert(2%num); //打印2//总结:当被除数小于除数时,取模值就等于被除数本本身alert(3%num); //打印0alert(4%num); //打印1alert(5%num); //打印2alert(6%num); //打印0alert(7%num); //打印1alert(8%num); //打印2//总结:当被除数大于除数时,取模值就取余
三、关系运算符
//关系运算符有:>,<,>=,<=;var an = 12,num = 13;alert(an > num); //falsealert(an < num); //truevar str = "a";var str1 = "b";alert(str > str1); //打印false 这里比较的是Unicode编码;alert(str1 > str);alert("a".charCodeAt()); //打印97 a的Unicode编码是97alert("b".charCodeAt()); //打印98 b的Unicode编码是98alert("z".charCodeAt()); //打印122 z的Unicode编码是122//[a-z] --> [97-122]var str = "a";var str1 = "B";alert(str > str1); //打印true;alert("A".charCodeAt()); //打印65alert("B".charCodeAt()); //打印65alert("Z".charCodeAt()); //打印90// [A-Z] --> [65--90]var str = "aB";var str1 = "ab";alert(str > str1);//false 会挨个字符做比较,直到有结果为止
四、等性运算符
// 等性运算符:等于(==),不等于(!=),全等于(===),非全等于(!==)alert(12 == 12); //打印truealert(12 != 12); //打印falsevar str = "12";var str1 = 12;alert(str == str1); //打印true 因为当其中有一个运算数是字符串时,另一个是数字,就会把字符串转换成Number类型,再比较var str = "胖胖";var num = 12;alert(str == num); //打印false str做类型转换成NaN,NaN与它自己都不相等,与其他比较更不相等咯var str = "12";var str1 = 12;alert(str === str1); //打印false 因为当全等于时,两边不会做数据类型的转换,alert(str !== str1); //打印true
五、三目运算符
var an = 6; if(an > 5){ alert("an大于5"); }else{ alert("an小于5"); } // 可以用三目运算符来写 var an = 5; var str = an>5?"大于":"小于或者等于"; alert(str);
六、赋值运算符
//赋值运算符; var an = 10; alert(an-=10); //打印0 //an-=10 --> an = an - 10; alert(an+=10); //打印20 alert(an*=10); //打印100 alert(an/=10); //打印1 alert(an%=10); //打印0
七、逻辑运算符
逻辑运算符:逻辑与(&&),逻辑或(||),逻辑非(!)
//逻辑与(&&):两边必须同时为真才为真,不然就为假var an = (5>10)&&(10>5);alert(an);//打印false// 1:如果两个运算数都是对象,就会返回后面那个对象var bool = new Object("aa") && new Object("bb");alert(bool);//打印bb// 2:如果某一个运算数是null另一个是一个对象, 返回null;var bool = new Object("aa") && null;var bool = null && new Object("aa");alert(bool);//打印null// 3:如果某一个运算数是undefined另一个是一个对象,返回undefined;var bool = new Object("aa") && undefined;var bool = undefined && new Object("aa");alert(bool);//打印undefinedvar bool = true && a; //报错,因为a没有定义过var bool = false && a; //这里不报错,因为第一个就是false,逻辑与就没有必要去执行后面的代码alert(bool);
// 逻辑或(||) 只要有一边为真就为真,两边全为假才为假;var an = (5>10)||(10>5);alert(an);//true// 1:如果两个运算数都是对象,就会返回前面那个对象var bool = new Object("aa") || new Object("bb");alert(bool);//打印aaalert(typeof bool);//打印object// 2:如果某一个运算数是null另一个是一个对象;返回对象var bool = new Object("aa") || null;var bool = null || new Object("aa");alert(bool);//打印aa// 3:如果某一个运算数是undefined另一个是一个对象 ,返回对象;var bool = new Object("aa") || undefined;var bool = undefined || new Object("aa");alert(bool);//打印aavar bool = true || a; //逻辑或,当第一个运算数就为true时,就是直接返回true,不会再执行下面的代码;var bool = false || a; //报错;alert(bool);
阅读全文
0 0
- <Js>运算和运算符
- JS运算符
- js 运算符 || && 妙用
- JS delete 运算符
- js运算符
- js 中的运算符
- js三元运算符
- js三元运算符
- JS 运算符 循环
- js 运算符
- js运算符优先级
- 【JS】【Core】运算符
- JS三元运算符
- js中运算符
- JS运算符优先级
- js运算符|| &&
- js逗号运算符
- JS-运算符
- 归并排序2
- 从全球导航到输入法:谈谈动态规划
- 系统设计与架构笔记:键值对在架构设计里的应用
- vue相关链接
- 《笨方法学python》的第三天
- js、运算符
- linux 安装 golang /git/node.js/postgresql
- 1. Two Sum
- shiro-jdbc-Realm
- 论人工智能背后的伦理问题
- Hadoop的 RPC机制的使用
- forward和redirect的区别
- JVM内存分配与回收策略
- 递归法