005运算符

运算符:也叫操作符,通过运算符可以对一个或多个值进行运算
      比如: typeof就是运算符,可以来获得一个值的类型

var a = 123;
var result = typeof a;
console.1og(result);
console .1og(typeof a);

她会将该值的类型以字 符串的形式返回。number string boolean undefined object
算数运算符
当对非Number类型的值进行运算时 会将这些值转换为Number然后在运算
任何值和NaN做运算都得NaN
+ :可以对两个值进行加法运算,并将结果返回
如果对两个字符串进行加法运算, 则会做拼串,会将两个字符串拼接为一个字符串,并返回
任何的值和字符串做加法运算,都会先转换为字符串,然后再和字符串做拼串的操作
我们可以利用这一特点, 来将一个任意的数据类型转换为String
我们只需要为任意的数据类型+一个"”即可将其转换为String
这是一种隐式的类型转换,由浏览器自动完成,实际上它也是调用String( )函数

var C = 123;
c=C+"";
C = String(c);|
console.log("c = "+c) ;
result=1 + 2 +"3";//33
result . "1”+ 2+3;//123
console.1og("result = "+result) ;

 :可以对两个值个值进行减法运算,并将结果返回
* : 可以对两个值进行乘法运算
/  :可以对两个值进行除法运算
%  :取模运算(取余数)
任何值做 -  *  / 运算时都会自动转换为Number,我们可以利用这 -特点做隐式的类型转换
可以通过为一个值-0 *1 /1来将其转换为Number.原理和Number()函效一样,使用起来更加简单

var d="123";
//d=d-0;
console.log("d="+d);
console.log(typeof d);

一元运算符:  只需要一个操作数
+正号,正号不会对数字产生任何影响
-负号,负号可以对数字进行负号的取反
对于非Number类型的值。它会将先转换为Number.然后在运算
可以对一个其他的数据类型使用+ ,来将其转换为number。它的原理和Number()函数一样

string e="string";
console.log(typeof e);
e=+e
console.log(typeof e);
在这里插入代码片

逻辑运算符:
!非   -可以用来对一个值进行非运算
      -所谓非运算就是值对一个布尔值进行取反操作,
     -true变false,false变true
     -如果对一个值进行两次取反,它不会变化
     -如果对非布尔值进行元素,则会将其转换为布尔值,然后再取反
      所以我们可以利用该特点,来将一一个其他的数据类型转换为布尔值
      可以为一个任意 数据类型取两次反,来将其转换为布尔值,原理和Boolean( )函数一样
      
&&与   - &&可以对符号两侧的值进行与运算并返回结果
       -运算规则:两个值中只要有一个值为false就返回false,只有两个值都为true时,才会返回true
       - JS中的“与”属于短路的与,如果第一 一个值为false,则不会看第二个值

//第一个值为true,会检查第二个值
//true && alert("看我出不出来! ↑");
//第一个值为false, 不会检查第二个值
//false && alert("看我出不出来! ! ");
//两个都是false,则返回false
result = false|I false;

||或  -||可以对符号两侧的值进行或运算并返回结果
     -运算规则: -两个值中只要有一个true,就返回true.如果两个值 都为false,才返回false
     JS中的“或”属于短路的或.如果第一个值为true,则不会检查第二个值
     
//第一个值为false,则会检查第二个值
//false|l alert("123");
//第一个值为true,则不再检查第二个值
//trueII alert("123") ;

&&||非 布尔值的情况:对于非布尔值进行与或运算时,会向我其转换为布尔值,然后再运算,并且返回原值

与运算: (如果两个值都为true,则返回后边的,如果两个值中有false,则返回靠前的false)
    -如果第一个值为true,则必然返回第二个值
    -如果第一个值为false,则直接返回第一个值
-或运算
    -如果第一个值为true,则直接返回第一个值
-如果第一个值为false,则返回第二个值

= :可以将符号右侧的值赋值给符号左侧的变量
     a+=5等价于a=a+5
     a-=5等价于a=a- 5
     a*=5等价于a=a*5
     a /= 5等价于a=a/5
     a%=5等价于a=a%5
关系运算符
通过关系运算符可以比较两个值之间的大小关系,如果关系成立它会返回true,如果关系不成立则返回false.任何值和NaN做任何比较都是false
>大于号  -判断符号左侧的值是否大于右侧的  
       如果关系成立,返回true. 如果关系不成立则返回false
>=大于等于 -判断符号左侧的值是否大于或等于右侧的值
<小于号
<=小于等于

//比较两个字符串时,比较的是字符串的字符编码
//console.1og("a" < "b");//true
//比较字符编码时是一位一位进行比较
//如果两位一样,则比较下一位,所以借用它来对英文进行排序
//console.1og("abc" < "bcd");//true
//比较中文时没有意义
//console.1og("戒”> "我"); //true
//如果比较的两个字符串型的数字,可能会得到不可预期的结果
//注意:在比较两个字符审型的数字时,一定一定定要转型
console.1og("11123123123123123123" < +"5");

非数值的情况
     -对于非数值进行比较时, 会将其转换为数字然后在比较
     -如果符号两侧的值都是字符串不会将其转换为数字进行比较,而会分别比较字符串中字符Unicode编码
在字符串中使用转义字符输入Unicode编码:\u四位编码  console. log("\u0031”);
在网页中使用Unicode编码:&#煸码; 这里的编码需要的是10进制。<h1>&#262e; </h1>
相等运算符 用来比较两个值是否相等,如果相等会返回true, 否则返回false
==来比较两个值时, 如果值的类型不同,则会自动进行类型转换,将其转换为相同的类型然后在比较
undefined衍生自null。所以这两个值做相等判断时, 会返回true
NaN不和任何值相等,包括他本身

console.log(NaN == NaN); //false

varb=NaN;
//判断b的值是否是NaN
//console.log(b == NaN);
可以通过isNaN()函数来判断一个值是否是NaN.如果该值 是NaN则返回true,否则返回falsec
onsole. log(isNaN(b));

不相等  不相等用来判断两个值是否不相等,如果不相等返回true,否则返回false
      -使用!=来做不相等运算
      -不相等也会对变量进行自动的类型转换,如果转换后相等它也会返回false

全等=== -用来判断两个值是否全等,它和相等类似,不同的是它不会做自动的类型转换
如果两个值的类型不同,直接返回false
全等不会做类型转换,null不等于underdined
!= =不全等用来判断两个值是否不全等,和不等类似,不同的是它不会做自动的类型转换
如果两个值的类型不同,直接返回true

条件运算符/三元运算符
语法:条件表达式?语句1:语句2;
执行的流程:条件运算符在执行时,首先对条件表达式进行求值,如果该值为true,则执行语句1,并返回执行结果。如果该值为false,则执行语句2,并返回执行结果

vara=30;
var b =43;
varC=50;
//a > b ? alert("a大"):alert("b大");
//获取a和b中的最大值
var max=a>b?a:b;
//获取a~b C中的大值
max=max>C?max:C; console.1og("max="+max);
//这种写法不推荐使用,不方便阅读
var max=a>b?(a>c?a:c):(b > c?b:c);

,运算符 使用,可以分割多个语句,一般可以在声明多个变量时使用,
     -使用,运算符同时声明多个变量var a,b,c;
     -可以同时声明多个变量并赋值var a=1 , b=2,c=3;alert(b);
运算符优先级的表
在表中越靠上优先级越高,优先级越高越优先计算,如果优先级一样,则从左往右计算.可用()改变

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值