javascript--运算符
来源:互联网 发布:网络互联协议的端口号 编辑:程序博客网 时间:2024/06/15 01:17
运算符分为:算术运算符,比较运算符,逻辑运算符,赋值运算符,一元运算符,三元运算符以及特殊运算符
1.算术运算符
+ — * / % ++ -- //都可进行数值的运算,隐式调用Number,转化为数值进行计算,不能转换返回NaN
1)+ :加号的二义性
a.数值的运算
b.字符串的连接
任何的数据类型和字符串相加表示连接
var name="张三";var age=12;var str= "我的名字叫"+name+",我的年龄是"+age+"岁";console.log(str) //我的名字叫张三,我的年龄是12岁//在EC6中新添加的一种表示连接的方式,` ${变量名} `var str1=`我的名字叫${name},我的年龄是${age}岁`console.log(str1)//我的名字叫张三,我的年龄是12岁//效果是一样的
2)++:进行自增,相当于+1
a++:先运行再自增
++a:先自增再运行
先看一个例子
var d=1; // 1console.log(d++); // 1 d先输出1后自增为2d++; // 3console.log(d); // 3
在控制台输出之后,变量b进行了自增
结合变量的赋值,再来看一个例子
var num=1;var num1=num++;console.log(num); //2console.log(num1); //1 num先赋值给num1为1再自增var nub=1;var nub1=++nub;console.log(nub); //2console.log(nub1) //2
2.比较运算符
> < >= <= == === != !==
1)比较运算符运算的结果都是布尔值(true false)
2)== :比较两个数的值是否相等,进行隐式的数据类型转换
3)=== :不仅比较值,还要比较两个数据的类型是否相等
//都是number数据类型时,正常比较console.log(1>2); //true//一个是字符串,一个是数值,将字符串转换为数值进行比较,不能转换为数值类型直接返回falseconsole.log("1"<2); //true//两个字符串之间进行比较,则把第一个值转化为ASII码进行比较 console.log("ab"<"b"); //true console.log("a"<"b"); //true//如果一个数值与布尔值进行比较,会把布尔值转化为数值进行比较,true为1,false为0console.log(0<true); //true//== 比较值的大小是否相同console.log(1=="1"); //trueconsole.log(""==0); //trueconsole.log(" "==0); //true
console.log(undefined==null)//true
//===要求数值、类型都相等console.log(1==="1"); //false
3.赋值运算符
= += -= *= /= %=
+=:var a=1; a+=2相当于a=a+2,其它类似
var a=1;a+=2; //a=3console.log(a); //3a*=3; console.log(a); //9console.log(a++); //9 a=10,但输出值为9console.log(++a); //11 a=11a%=2; console.log(a); //2
同时要注意+的二义性
var num="3";num+=4;console.log(num) //34 +表示连接
4.逻辑运算符
&& || ! //与、或、非
&&:运算符两边有假为假,全真为真 ||:运算符两边有真为真,全假为假 ! :取反,真为假,假为真
1)逻辑运算符可以对任意类型的数据进行运算,但在运算的过程中会转变为对应的boolean类型值,除了null 、undefined、0、空字符串、false、NaN是false,其余的数值类型都转化为false
2)&& 、|| 隐式调用boolean类型值进行运算,在能判断真假的时候停止,但表达式最后的值不会转化为boolean类型值,返回值是停止值
console.log(1||2) //1 console.log(1||0) //1 console.log(0||2) //2console.log(0||null) //null//"||":有真为真,全假为假,在可以判断的时候停止console.log(1&&2) //2console.log(1&&0) //0console.log(0&&2) //0console.log(0&&null) //0//"&&":有假为假,全真为真,在可以判断的时候停止
3)!:非运算结果必定是boolean类型值
console.log(!0) //trueconsole.log(!1) //false
5.一元运算符:操作一个数据的运算符
typeof ! +(正) -(负) ++ -- delete new
1)typeof:检测数据类型,返回的结果有:number\string\undefined\object\boolean\function
console.log(typeof("12")); //stringconsole.log(typeof(12)); //numberconsole.log(typeof(function () {})); //functionfunction object(){}var obj=new object()console.log(obj) //object
console.log(typeof(undefined)) //undefinedconsole.log(typeof(null)); //object *null是个空对象console.log(typeof(false));//boolean//typeof的检测结果是字符串类型var aa=typeof ("")console.log(typeof(aa)); //string
2)delete:删除对象的属性或方法
var obj={name:"zhangsan",sex:"man"};delete obj.sex;console.log(obj.sex) //undefinedps(null删除对象)obj=null;console.log(obj) //null
3)new:用来创建一个对象
5.三元运算符
根据表达式的计算结果有条件的为变量赋值
格式:var 变量=boolean expression ? 条件为真的值:条件为假的值
var num=1>2? 3:4;console.log(num) //4
6.特殊运算符
, :逗号 1)一次声明多个变量 2)函数传多个参数用逗号隔开 3)多个键值对之间用逗号隔开。。。
():括号 1)运算的时候有优先级的作用 2)函数的调用 3)正则形成原子分子
ps:运算符运算过程中有些会涉及到隐式调用,隐式 调用主要包括:
1)算术运算符调用Number类型,如果能转换为数值进行运算,不能就返回NaN
2)比较运算符调用Number
3)逻辑运算符调用boolearn类型值,但&& || 返回的值不是boolearn类型值
4)三元运算符调用boolearn类型值
另外,if语句判定条件也会隐式调用boolearn类型值,条件为真执行
- javascript中的运算符
- javascript 逗号运算符
- javascript中的运算符
- JavaScript 的运算符
- javascript 逗号运算符
- Javascript中的||运算符
- Javascript中的||运算符
- JavaScript基础--运算符
- JavaScript delete运算符
- javascript运算符优先级
- JavaScript运算符详解
- JavaScript 运算符
- javascript或运算符“||”
- JavaScript运算符优先级
- javascript typeof 运算符
- javascript中的||运算符
- javascript位运算符
- [译]JavaScript:运算符
- javascript——数据类型
- 判断字符串为空方法
- javascrip简介
- javascript--变量
- java发邮件失败
- javascript--运算符
- javascript--函数(一)
- 中国省份及简称记录
- 基于Jquery/cropper插件的使用。头像截切/裁剪图片。
- javascript--函数(二)
- Android WebView 加载网页只显示空白页不显示网页
- js典型题--从闭包开始
- mobile下拉刷新下一页
- javascript--对象