运算符:
运算符根据操作数的个数可以分为:一元(一目)运算符、二元运算符、三元运算符
根据运算符的作用:
(1)算术运算符:
+ - * / %(取余)
一元运算符:
自增:++
自减:--
注意:未赋值时,前置和后置 无区别
赋值时:
1.后置:先赋值,后运算
2.前置:先运算,后赋值
注意:+ 两边有一个为字符串类型时,则执行拼接操作,结果为字符串类型
(2)赋值运算符
= (赋值) += -= *= /= %= 先运算,再赋值
(3)比较运算符
运算结果为boolean类型
>= <= > < ==(等于) !=(不等于) ===(全等)
注意:
== 只比较数值
=== 不仅比较数值,还比较数据类型
(4)逻辑运算符
一般情况下,运算结果为布尔类型
&&(逻辑与) : 并且
若运算符两边均为真(true),则结果为真(true),其它均为假
||(逻辑或) : 或者
运算符两边有一个为真,则为真;两边均为假,则为假
!(逻辑非) : 取反 一元
(5)条件运算符 三元运算符
?:
例子:
var a=10;
var b=20;
var c=a+b;
console.log(c);
console.log(a+b);//先运算、再输出
console.log(a*b);
console.log(a/b);//0.5
console.log(a-b);
console.log(a%b);//10
console.log(10%3);*/
// console.log(0.5*0.5);
// console.log(0.02*0.02);
注意:
如果两个数值类型不一样:会拼接;
例如:
var a='5';
var b=8;
console.log(a+b); //58
这个时候因为数值类型不同:一个是string;一个是number;
所以会产生拼接效果;
十进制、二进制、八进制、十六进制
JavaScript小数运算有问题:精度损失
console.log(0.2*0.2);//0.04000000000000001
var a=0.2*0.2;
var b=a.toFixed(2);//保留小数点后两位数
console.log(b);
//科学计数法
var a1=0.000005;
var a11=5e-6; //e 10
var a2=300000000;
var a3=3e8;
console.log(a1);
console.log(a11);
console.log(a2);
console.log(a3);*/
对象 Number 实例 number
对象:属性 方法
string number boolean null undefined
var a='hello';
var b='world';
//单词和字母能比较
比较的是 ASCII码
A 65
a 97
字符串比较,比较的是ASCII码,一位一位比较
var str1='a';
var str2='b';
比较空字符串;
var s1='';//空字符串
var s2=' ';//空格字符
console.log(s1==s2); //比较两个字符串是否一致 //false
console.log(s1!=s2);//true
console.log(typeof s1);//string
数字字符串
var s1='4';
var s2='10';
var a=10;
console.log(s1>s2);//true 比较ASCII码
console.log(s1>a);//false 比较的是数值
console.log('5'>3);
console.log('5'==5);//true
console.log('5'===5);//false*/
变量的数据类型取决变量里保存的数据
var a=10;//number
var b=20;
console.log(typeof a,typeof b);
a=true;//boolean
console.log(typeof a);
a='hello';//string
console.log(typeof a);
?:三元运算符:
var a=10;
var b=5;
var c=a>b?100:50;如果a>b; //取冒号:前面的数;否则取冒号:后面的数
console.log(c);
a==b?console.log('hello'):alert('world');
如果:
var a=5;
var b=5;
a==b?console.log('hello'):alert('world'); // hello
三元运算符 ?: 前面判断相等; 取冒号:前面的值;