循环
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 = 0
for(; i< 10 ;){
console.log('i')
i ++;
}
转成white循环
var i = 0
while(i < 10){
console.log('i')
i ++
}
题目: 打印0 到100 ,( )只能有一句,不能比较 ,{ } 不能出现 i++ ,i —
var i = 100
for(; 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 ') // NaN
parseInt( ' 123abc' ) // 123
parseInt( '10' , 16 ) // return 16 第二位是以 number 进制 切换到10进制
let a = praseFloat('3.1415926')
a.toFixed(2) // 3.14 保留2位
typeof() return string
var 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
但是
```javascript
undefined == null // true
isNaN ===> isNaN( Number( arg ))
isNaN(NaN) true
isNaN('123') false
isNaN( 'a' ) true
isNaN (undefined) // true number(undefined) ==> NaN true
isNaN (null) // false number(null) ==> 0 false