运算符也叫操作符;
一 加法运算符:
1 格式:Number1+Number2
var res=1+1; console.log(res); var num1=10; var num2=20; var res2=num1+num2; console.log(res2);2 非Number类型的值进行运算时,会将这些值转化为Number然后再计算
var res=true+100 console.log(res); var res=true+true; console.log(res); var res=null+10; console.log(res);3 任何值和NaN做运算都得NaN
var result=1+NaN; console.log(result);4 任何值和数字串做加法运算,都会转化为字符串,然后再和字符串做拼串操作
var result="10+123"; console.log(result);//10+123 result=1+true; console.log(result);// 1true像减法运算和乘法运算都与加法差不多,知识符号变了。
二: 除法运算符
三 : 取余运算
1 格式:Number1 % Number2
var res=10 % 3; console.log(res); var res=10 % 3.5; console.log(res);// 32 n 等于0 结果返回NaN
var res=100 % 0; console.log(res);// NaN3 m 等于0 结果为0
var res=0 % 10; console.log(res);4 m>n 正常求余 如:8 % 3=2
var res=9 % 2; console.log(res);// 15 m<n 结果为m 如:2%4=2
var res=10; console.log(res);四 一元运算符:
对于非Number类型的值,会将先转换为Number,然后再运算 var bool=true; var res=+bool; console.log(res);//1 var str="123"; res=+str; console.log(res);//123 var str2="123abc"; res=+str2; console.log(res);//NaN var temp=null; res=+temp; console.log(res);// 0五 赋值运算符:
1 格式:变量=数据
var num=100; var value=num; num=60;2 赋值运算左边只能是变量
var bool=100; console.log(bool);还有另些算法
六 自减、自增运算符:
1 无论运算符号在前还是在后,变量在自身基础上都会改变 var num=1; num++; // num=num+1 num+=1 console.log(num);// 2 num=1; num--; // num-=1 console.log(num);// 0 num=1; --num; console.log(num);// 02 先用后变
var a,b; a=20; b=30; var res=(a++)+(b++); console.log(res, a, b);// 50 21 31 a=10; b=20; res=(a--) +(b--); console.log(res, a, b);// 30 9 203先变后用
var a,b; a=10; b=20; res=(++a) +(++b); console.log(res, a, b);// 32 11 21 a=10; b=20; res=(--a) +(--b); console.log(res, a, b);// 28 9 19七 逻辑运算符:
1 与运算(&&): 只有当条件A和条件B同时成立,结果才为true,其余结果都为false。 简称:一假全假。
对于非Boolean类型数值,逻辑与会自动将其转化为Boolean类型来判断。
如果条件A不成立,则返回条件A的数值本身
如果条件A成立,不管条件B成不成立都会返回条件B数值本身。如下所示:
var result="123" && "abc"; console.log(result);// abc var result="123" && 0; console.log(result);// 0 var result=null && 0; console.log(result);// null
2 或运算(||): 当条件A或条件B只要有一个成立(也包括条件AB都成立) 结果为true,只有条件AB都不成立时,结果为false。 简称:一真为真。
对于非Boolean类型数值,逻辑与会自动将其转化为Boolean类型来判断。
如果条件A不成立,不管条件B成不成立都会返回条件B数值本身
如果条件A成立,则返回条件A的数值本身 。如下所示:
var result=null || 0; console.log(result);//0 var result="123" || "abc"; console.log(result);//123 var result="123" || 0; console.log(result);// 1233 非运算(!):真的是假,假的是真
var bool1=true; var res1=!bool1; console.log(res1);//false var bool2=true; var res=!!bool2; console.log(res);// true八 关系运算符:
var a,b; a=100; b=100; console.log(a > b);// false console.log(a < b);// false console.log(a >= b);//true console.log(a <= b);//true console.log(a == b);//true console.log(a === b);//true console.log(a != b);//false注意事项:
1 对于非数值进行比较时,会将其他转化为数值然后再比较
console.log(1 > false);// true console.log(1 > true);// false console.log(1>'10');// false console.log(1 > null);// true2 如果符号两侧的值都是字符串时,不会将其转换为数字进行比较,而会分别比较字符串中字符的Unicode编码
console.log('a' > 'b');// false console.log('abc' < 'abd');// true console.log('你' < '我'); 3 null undefined NaN 比较 console.log(null == 0);// false console.log(undefined == 0);// false console.log(NaN == NaN);// false八 逗号运算符:
运算过程是先表达式1、再算表达式2、依次算到表达式n; 整个逗号表达式的值是最后一个表达式的值。
var a,b,c,d; d=(a=1+1,b=3*4,c=10/2); console.log(d);// 5 var a,b; b=(a=3,--a, a*5); console.log(a, b);// 2 10九 三目运算符:
1 格式:条件表达式?语句1:语句2;
2 求值规则:如果条件表达式为true,则执行语句1,并返回执行结果; 如果条件表达式为false,则执行语句2,并返回执行结果。
null?alert("语句一") :alert("语句二") "abc"?alert("语句一") :alert("语句二")3 注意点: 条件运算符?和:是一对运算符,不能分开单独使用; 如果条件的表达式的求职结果是一个非布尔值,会将其转化 为布尔值运算。