数据类型
数据类型:六种基本数据类型:string number boolean undefined null object
简单数据类型:number string boolean undefined null
复杂数据类型:object
number:
数值范围:Number.MIN.VALUE(最小值)---5e-324;
Number.MAX.VALUE(最大值)---- 1.7976931348623157e+308
infinity----无穷大
-infinity-----无穷小
number类型中浮点数并不相等----解决方法:将浮点数全部转换为整数,然后再计算,整数的计算计算机将会精确计算
eg:0.1+0.2== 0.30000000000000004------并不等于0.3
parseInt(),parseFloat(),number()----转化为数字类型的方法;
string:只能识别第一对双引号,第一个开始符号和结束符号,后面的字符将不会执行,则双引号中并不能嵌套 双引号
可使用\转义其中的双引号
boolean: true false------区分大小写
undefined:未定义的,----表示为一个未赋值的变量,未赋值的变量,默认均为undefined
----函数没有明确的返回值,函数将输出undefined
null:值为空
object:对象;
数据类型转换:
转换函数:parseInt() parseFloat();-------能转换一部分值,直到遇到第一个非数字字符(不符合数字的结构的字符)
-------Number()----转换的为整个值,如果整个值并不能转换为数字,将会返回NaN
强制类型转换:eg:Number() String() Boolean()...
隐式类型转换:== ===
typeof属性:console.log(typeof 12)-------返回一个数据类型名称,但其格式为"String"类型,字符串类型
转换为number: parseInt(),parseFloat(),Number()
Number,parseInt(),parseFloat()------直到遇到非数字结束,包括小数点,parseInt(),parseFloat()且只有对String类型调用这些方法,
-----这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)
" "(空格)---转换---0;
null---转换---0;
undefined---转换---NaN
true---转换---1
false---转换---0
转换为布尔类型: Boolean()
数字中,除了“0”转换为false,其他的数字转换成number,均为true;
字符串中,除了空串("")转换为false,其他均为true;
对象中,均转换为true;
null-----转换为false
undefined-----转换为false
("")-------转换为false
(" ")-------转换为true
转换为String类型:String() value.toString
运算符
算数运算符 + - * / %
一元运算符:只有一个操作数的运算符------ ++i(先自增再带入计算式子) i++(先将原值带入计算式子中,再自增)
二元运算符:两个操作数的运算符-----var num=i+5
符合运算符:------var num=5; num+=5;
与或运算:&&(同真则为真) ||(一真则为真)
与运算:如果两值均为true,------返回第二个值--- console.log(1 && 2);//返回--2
如果有为false,------返回为false的值 console.log(0 && 1)
如果均为false--------返回靠前的第一个为false的值 console.log(0 && NaN) //返回0
或运算:如果第一个值为true,则直接返回 第一个值
如果第二个值为false,则直接返回第一个值---- console.log(0 || 1) //1
如果第一个值为false,则直接返回 第二个值
比较符:< >
两个非数字比较时,则转换为数字再比较,
任何值与NaN比较时,均为false
两个字符串比较时,只会转换为Unicode编码比较
等运算符:== ===
"1"==1; //true
"true"==1; //true
"false"==0; //true
"null"==0; //false------此例外
"null"==undefined; //true
"NaN"=="NaN"; //false
=== -----并没有类型转换,数据类型和值都相同,就返回true;
-->