Skip to main content

变量和常量

number#

八进制:let a=0o10 以0o开头的就是8进制

十六进制:0-9 a-f let a =0xffff 以0x开头的就是16进制

number数值范围#

console.log(Number.MAX_VALUE)console.log(Number.MIN_VALUE)

输出可以看到最大,最小值

特殊值#

 console.log(Infinity)//无穷大  console.log(-Infinity)//无穷小  console.log(NaN)//not a number 代表非数值,当数值与其它变量运算时就会nan

超过最大和最小值就会无穷大

isNaN#

console.log(isNaN(12))    console.log(isNaN('haha'))

结果:

false 不它是数字

true 对,它不是数字

转换成number类型#

string#

length长度#

let a='sds'console.log(a.length)//结果3

拼接#

  let a ='xwx'   let b ='dwdad'   console.log(a+'-'+b)  //结果xwx-dwdad

所以只要用+随便拼接多少个

与其它任何类型的拼接都会变成string,

Boolean#

true false

与number运算#

let a=truelet b=falselet c=18console.log(a+b) //1console.log(a+c) //19console.log(b+c)    //18

结论:与number运算,true=1,false=0

其它类型转换成Boolean#

console.log(Boolean(undefined)) //falseconsole.log(Boolean(NaN)) //falseconsole.log(Boolean(null)) //falseconsole.log(Boolean(12)) //trueconsole.log(Boolean('xixi'))//trueconsole.log(Boolean(''))//falseconsole.log(Boolean(0))/

常量#

const a='haha'a='xixi'//直接报错,常理是无法改变的

数组和object#

const a=['a','b']const b={name:'a',age:32}a.push('c')b.sex='man'console.log(a);//[ 'a', 'b', 'c' ]console.log(b);//{ name: 'a', age: 32, sex: 'man' }

不会报错,因为没有改变数组和object的栈地址