循环
for(var i = 0;i < 10;i++){console.log(i)}
步骤: 1. 声明变量 i = 0
2. if( i < 10)
3. 执行console.log(i)
4. i ++
……
if(i < 10)为 false 停止
不一样的写法
var i = 0for(; i< 10 ;){console.log('i')i ++;}
转成white循环
var i = 0while(i < 10){console.log('i')i ++}
题目: 打印0 到100 ,( )只能有一句,不能比较 ,{ } 不能出现 i++ ,i —
var i = 100for(; i--;){console.log(i)}
do while
do{console.log('先执行后判断')}while( i < 10)
引用类型
array object null 使用typeof() 返回都是object
隐式类型转换
a - b ==> number(a) - number(b)
parseInt( ' abc123 ') // NaNparseInt( ' 123abc' ) // 123parseInt( '10' , 16 ) // return 16 第二位是以 number 进制 切换到10进制
let a = praseFloat('3.1415926')a.toFixed(2) // 3.14 保留2位
typeof() return stringvar a = '123'a++ ; => Number(a) a++
- / % - 都对前后进行了 Number() 处理 ```javascript var a = 1 < ‘2’ 前后处理 Number()
var a = ‘a’ < ‘b’ 转换成AScII
var a = ‘a’ != ‘b’ 转换
var a = 1 === ‘1’ 不转换
NaN === NaN // false
var a = 3 > 2 > 3 // false var a = 3 > 2 == 1 // true
var a = undefined > 0 || undefined < 0 || undefined == 0 // 都是false var a = null > 0 || null < 0 || null == 0 // 都是false
但是```javascriptundefined == null // true
isNaN ===> isNaN( Number( arg ))
isNaN(NaN) trueisNaN('123') falseisNaN( 'a' ) trueisNaN (undefined) // true number(undefined) ==> NaN trueisNaN (null) // false number(null) ==> 0 false
