js json制表符报错_JS中的数据类型 及 会踩的坑(一部分)

7种数据类型:

1、数字 number (js内部,所有数字都是64位浮点数存储,就算是整数。)

十进制:1 1.1 .1 1.23e2=123

二进制:0b11=3

八进制:011=9

【坑】注意:电话号码不能用数字来存

十六进制:0x11=17

【坑】NaN也是number类型,代表 非数字

2、字符串 string

JavaScript引擎不能自动识别编号大于0xFFFF的Unicode字符。

JS允许在程序中使用Unicode编号表示字符,写成uxxxx的形式。

'u00A9' 表示 "©"。

var fu006Fu006F 是合法的。

全局函数 btoa() 能将字符串转为Base64编码,全局函数 atob() 能将 Base64编码转为原来的编码。要将非ASCII码字符转为Base64编码,必须中间插入一个转码环节。

Base64是一种基于64个可打印字符来表示二进制数据的表示方法。

'你好' "nihao"

'' ""(空字符串) 长度为0

' ' " "(空格字符串) 长度为1

转义: 反斜杠转义符。n=回车 t=制表符 length都是1【坑】

转义转义符

多行字符串:

var s = "12345

67890"

var s = "12345"+

"67890" (更好)

var s = "12345 (有无数个空格看不见)

67890“(【坑】报错,因为空格被转义,缺少闭合)

ES6:

var s = `12345

67890`(【坑】length包括回车,11个长度;也包括5后面和6前面的一切空格)

3、布尔 boolean

布尔是个人,发明了逻辑学,数学家

只有两个词:true(真)、false(假)

var a = true

if(a){

xxxxx(会执行)

}

&&与 ||或 !非

4、符号symbol

ES6新增,以后再说

5、null类型:值只有一种null

6、undefined类型:值只有一种undefined

js里表示没有值,可以用null也可以用undefined,有两个的原因是js之父的bug

【坑】细微的区别:

·如果一个变量没有赋值,就是undefined,不是null(语法)

·如果想有一个对象,但是现在不想赋值,就给一个null(惯例)

·如果想有一个非对象,但是现在不想赋值,就给一个undefined,或者直接只声明即可(惯例)

7、对象 object,前六种叫基本类型,对象是复杂类型,由简单类型组成

哈希表来表示。

var name = 'frank'

var age = 18

var gender = 'male'

var person =

{

name : 'frank',

age : 18,

gender : 'male'

married : true

xiaosan : undefined

children : null

childred2:{name:'xxxx',age:555}

'' : 'frank'

9a : 'xxxxx' //【坑】不合法,因为如果key不加引号的话,需要按照变量名的规则来命名

'9a' : 'xxxxx'//合法,但只能用person['9a']调用,不能用person.9a

9 a : 'xxxxx' //【坑】不合法,key不加引号不能有空格

‘9 a’ : 'xxxxx' //合法,但只能用person['9 a']调用

}

person['name'] //frank

delete person['name']

'name' in person

person['name'] = undefined //这样只能清空value,不能清空key

遍历对象中的全部key:

var person = {'name':'frank','age':18}

for(var key in person){

console.log(person[key]) //【坑】不能用person.key 因为key用.的语法时,是字符串,等价于person['key']

}

【坑】基本类型里,没有array、没有function,这俩都是对象。

如何知道变量类型:

typeof XX 返回的都是字符串

【坑】有2个特殊:

typeof null //返回obj

typeof function //返回function

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值