JavaScript语法-数据类型

typeof输出值

string number object boolean undefined function
不可能是null

function fn(){}
alert(typeof fn)

\转义

alert("hello'wally'")
alert('hello\'wally\'')
console.log('hello \n world')
console.log('hello \\ world')
console.log('hello \" world')

toString()

转换成string类型,参数可以添加进制

var num=10
var bool=true
console.log(typeof num.toString())
console.log(num.toString(2))
console.log(num.toString(8))
console.log(num.toString(16))
console.log(num.toString())

Number

1.NaN

NaN:不是一个数字,,但是number类型

console.log(undefined+23)//NaN
console.log(typeof NaN)//number

跟谁都不相等 包括自己也不相等

console.log(123==123)//true
console.log(NaN==NaN)//false

isNaN()可以检测参数值是否为NaN

console.log(isNaN(undefined+23))//true
console.log(isNaN(23))//false

2.科学计数

console.log(3.1e10)
console.log(3e-2)

3.Infinity

console.log(3.1e100000)
console.log(-3.1e100000)

isFinite()可以检测是否超出范围

console.log(isFinite(3.1e2))//true
console.log(isFinite(3.1e100000))//false

4.Number()

将参数转换成number类型, 可以转换任意类型

console.log(typeof Number('123'))//number
console.log(Number(true))//1
console.log(Number(false))//0
console.log(Number('false'))//NaN
console.log(Number(''))//0
console.log(Number(undefined))//NaN
console.log(Number(null))//0
console.log(Number('08.970'))//8.97

5.parseInt(),parseFloat()

parseInt() 转换成整型
parseFloat() 转换成浮点型
只能转换字符串格式的数字

console.log(parseInt('123.056'))//123
console.log(parseFloat('123.23'))//123.23
console.log(parseInt(true))//NaN

6.精度问题与toFixed()

浮点数运算可能会有精度问题
toFixed() 参数 保留几位小数

console.log(0.1+0.2)//0.30000000000000004
console.log((0.1+0.2).toFixed(2))//0.30

Boolean

Boolean() 将参数转换成布尔值

  • 字符串 -> 布尔型
    空字符串 -> false
  • 数字 -> 布尔
    0,NaN -> false
  • undefined -> false
  • null -> false
var a;
console.log(Boolean(123))//true
console.log(Boolean('123'))//true
console.log(Boolean(''))//false
console.log(Boolean(a))//false
console.log(Boolean(0))//false
console.log(Boolean(NaN))//false
console.log(Boolean(3e10000))//true
console.log(Boolean(null))//false

Object

数组(列表) Array
对象(字典) Object

1.Array数组

length属性: 数组包含元素的个数
索引(下标): 数组[索引] 获取对应位置的元素 索引从0开始

var arr=['123',250,true,['wally','age',17]]
console.log(arr[0])//123
console.log(arr[3])//["wally","age",17]
console.log(arr[3][0])//wally
console.log(arr.length)//4

for(var i=0;i<arr.length;i++){
  console.log(arr[i])
}

var arr1=new Array(4)
console.log(arr1)

var arr2=new Array(1,2,3,4)//[1,2,3,4]
console.log(arr2)

console.log(typeof arr)//object

Object

由一组或多组键值对组成,键值对用:链接,每一组值之间用,分割
获取键对应的值: 对象.键名 或 对象[‘键名’]
键名一般使用字符串,键值可以是任意数据类型

var obj={
  name:'wally',
  age:17,
  sex:'man',
  favs:['篮球','足球','排球'],
  lesson:{
    id:123,
    name:'web'
  }
  run:function(){
    alert('running')
  }
}
console.log(obj.name)//wally
console.log(obj.favs)//["篮球","足球","排球"]
for(var i=0;i<obj.favs.length;i++){
  console.log(obj.favs[i])
}
console.log(obj.lesson.id)//123
obj.run()

猜你喜欢

转载自blog.csdn.net/xuaner1996/article/details/79206806
今日推荐