一、数据类型
字符串类型:string
数值型:number
布尔型:boolean
undefined
null
object
1、数值型
//js整形最大表示范围 2的53次幂----2的负53次幂
2、类型转换
(1)、隐式类型转换
一种数据类型自动转换成另一种数据类型
(2)、显示类型转换
Number():将其他数据类型,转换为数值型
console.log(Number(true)) //1
console.log(Number(false)) //0
console.log(Number("")) //0
console.log(Number(null)) //0
console.log(Number(undefined)) //NaN
console.log(NaN) //NaN
parseInt()
console.log(parseInt("23aa")) //23
console.log(parseInt(true)) //NaN
console.log(parseInt(false))//NaN
console.log(parseInt(""))//NaN
console.log(parseInt(12.34)) //12
console.log(parseInt(0.12)) //0
console.log(parseInt("30e5")) //30
console.log(parseInt(25,16)) //37
console.log(parseInt(25,8)) //21
console.log(parseInt(1001,2)) //9
console.log(parseInt(25,10)) //25
parseFLot()
NaN:非数值 表示一个本来要返回数值的操作数而没有返回数值的情况 不等于任何数值
3、进制转换
(1)、其他进制转换为10进制
parseInt(25,16)
parseInt(25,8)
parseInt(25,10)
parseInt(101,2)
(2)、十进制转化为其他进制
var v1=23
console.log(v1.toString(16))
console.log(v1.toString(8))
console.log(v1.toString(2))
console.log(v1.toString(10))
4.常用方法
isNaN() 判断是否为非数值
//任何涉及NaN的操作都返回NaN
console.log(NaN/8)
console.log(NaN+8)
console.log(NaN-8)
console.log(NaN*8)
// NaN与任何值都不相等,包括他本身
console.log(NaN==NaN)
console.log(0/0)
isFinite() 判断是否为正负有穷
5.常见的面试题
console.log(null*5) //0
console.log(NaN*5) //NaN
console.log(undefined*5) //NaN
console.log("hello"*5)//NaN
console.log("23"+5) //235
console.log("23"*5) //115
6.布尔值
true
false
类型转换
console.log(Boolean(23)) //true
console.log(Boolean(0)) //false
console.log(Boolean("hello")) //true
console.log(Boolean("")) //false
console.log(Boolean(null)) //false
console.log(Boolean(undefined)) //false
true false
数值型 非空为true
字符型 非空串true
undefined 返回false
null 返回false
Object 任意对象返回的都是true
7、undefined类型
(1)、undefined是变量只声明未赋值
var a
alert(a)
console.log(typeof(a))//undefined
(2)、函数没有返回值默认返回undefined
(3)、调用函数时应该提供参数但没有提供,该参数返回undefined
8、null空类型
var a=null
console.log(typeof(a)) //object null是一种特殊的object
9、object 对象类型
对象就是一定属性和方法的封装体,通过对象能引用这些方法和属性
10、***** typeof *****
(1)、数值类型返回number !!NaN返回number
console.log(typeof(1)) //number
console.log(typeof(NaN)) //number
console.log(typeof(Number.MAX_VALUE)) //number
console.log(typeof(Number.MIN_VALUE)) //number
console.log(typeof(Infinity)) //number
(2)、字符串类型返回string
console.log(typeof("123")) //string
(3)、布尔类型 返回boolean
console.log(typeof(true)) //boolean
(4)、对象、数组、null 返回object
console.log(typeof(window)) //object
console.log(typeof(document))//object
console.log(typeof(null))//object
console.log(typeof(Math))//object
console.log(typeof[]) //object
(5)、函数类型返回function
function f1(){}
console.log(typeof(f1))//function
console.log(typeof(eval))//function
console.log(typeof(Date))//function
(6)、未定义的变量或undefined本身,返回undefined
二、流程控制语句
1、if(){
}
else if(){
}
2.switch(){
case:语句体; break;
case:语句体; break;
case:语句体; break;
default 语句体
}
3.for(var i=0;i<=5;i++){
语句体
}
4.while循环
5.do while 循环至少循环一次
6.break 立即跳出循环
continue 停止当前循环,进入下一次循环