饥人谷技术博客

20 进阶:JS里的数据

2018-12-04  本文已影响1人  Ga611

七种数据类型

number,string,boolean,symbol,undefined,null,object(function,array,object)

number

JavaScript 内部,所有数字都是以64位浮点数形式储存,即使整数也是如此

1+.1 //1.1
1.23e3 //1230
1.23e-1 //0.123

octonary八进制前缀:0O,0o,0(且后面只跟0~7)
hexadecimal十六进制前缀:0X,0x
binary二进制前缀:0B,0b

string

每个字符在 JavaScript 内部都是以16位(即2个字节)的 UTF-16 格式储存。也就是说,JavaScript 的单位字符长度固定为16位长度,即2个字节。
多行字符串表示:

ES6:
let a=`1234
5678`
a.length //9,包含回车

null,undefined

两者区别:
变量未赋值时其值是undefined
(?)存在一个对象,暂不想赋具体值时 ,赋值null;存在一个非对象,暂时不想赋具体值时,赋值undefined

object

object键名永远为string或symbol,不加引号时,键名会自动转为字符串,且键名要符合标识符规范
是无序的键值对

属性读取:
obj.p === obj['p'] //obj[p]里的p不加引号时表示为变量
//使用[]时键名要放在引号里,否则被当成变量(数字除外,且数字必须放在[]里)
常用方法:
delete obj[key]  //清楚键和值
key in obj  //  false "in"返回boolean,key应为字符串
for(let  key in obj){obj.hasOwnProperty(key)}
//使用for...in的时候,应该结合使用hasOwnProperty方法,在循环内部判断一下,某个属性是否为对象自身的属性,返回boolean

Object.keys(obj) //['key1','key2',...]

typeof

两个特殊点:
typeof f(){}  //'function'
typeof null //'object'
易错
上一篇下一篇

猜你喜欢

热点阅读