JS 里的数据类型

2019-02-26  本文已影响0人  BOB_BI

数据类型

基本数据类型

1.基本数据类型
-number string boolean(原始类型)
-undefined null (特殊)
-symbol(es6)
2.typeof检测基本数据类型
typeof null //'object'
typeof fn() //'function' (应该是object)
3.undefined 与null的区别(都是空)
undefined:表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值
null:表示空值,即此处的值为空。
-变量没有赋值——undefined
-一个对象object,暂时不想给值——null
一个非对象,暂时不想给值——undefined

// 函数没有返回值时,默认返回 undefined
function f() {}
f() // undefined

4.布尔值
转换规则:除了下面六个值被转为false,其他值都视为true。(falsy值)
-undefined
-null
-false
-0
-NaN
-""或''(空字符串)

对象

对象类型是合成类型,可分为三个子类型:
-对象object
-数组array
-函数function
对象——哈希表
1.删除一个key

-delete obj.name 
'name' in person    // false
obj.name               //undefined
-obj.name = undefined
'name' in person    //true
obj.name               //undefined

2.for in 遍历

for(var key in obj){
console.log(key, person[key])  //打印出obj的所有键和值
}

var o3 = Object.create(Object.prototype); 可以创建一个对象
var o2 = new Object(); 可以创建一个对象
var obj = {
'3+3': 'A',
'6': 'B'
}
请问 obj[3+3] 的值为'B'
Object.keys(obj) 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用for...in 循环遍历该对象时返回的顺序一致 。

var s1 = {}
var s2 = new object()
console.log(s1)       //{}
console.log(s2)       //{}
s1 === s2                  //false  分别申明,地址不一样

类型转换

变string

1.toString()
null不可
undefined不可
2.+ ''
null + '' //'null'
undefined + '' //'undefined'
object + '' //{object object}
3.window.String()
null, undefined可

变boolean

1.boolean(null)
2.!!null

变number

1.Number()
2.parseInt('111', 10/进制)
parseInt('1s') //1
parseInt('s') //NaN
3.parseFloat()

  1. 'xxx' - 0
    5.取正+ ‘xxx’ +'-1' //-1
上一篇 下一篇

猜你喜欢

热点阅读