easyui js解析字符串_JS 里的数据类型|精选博客

number // 数值,包括整数及小数 string // 字符串 boolean // 布尔值, true false undefined // 未定义或不存在 null // 空值 object // 包括对象、数组、函数 symbol


number 数值

整数和小数:1 1.1 .1

科学记数法:1.23e2

二进制:0b11

八进制:011(后来 ES5 添加了 0o11 语法)

十六进制:0x11

转换为number的五种方法:

number('1')===1

parseInt('1',10) ===1// 十进制 ,parse意为解析,需重点留意

parseFloat('1.23')===1.23 //小数,用浮点数,浮点数只有十进制形式,故不用再标注

‘1’-0===1 //任何数据-0 均可得到一个number ,快捷常用

+‘1’===1 // + 表示以数字形式取原本的值,+ ‘-1’=== -1


string 字符串

var a='\''

var a='\n' // 回车

var a='\t' // 制表符Tab

var a='\\' // 符号\

//以上字符长度均为1

用反斜杠 \ 来表明此符号不是结束符号;

需注意:‘’表示空字符串;‘ ’表示空格字符串;

ES6 新加了语法,用反引号` 可以解析反引号内所有内容,多行字符串直接回车即可。

var s=`123

456`

// s.length是7,因为包含了回车

var q=`123

456`

// q.length是8,因为包含了回车和一个空格

转为字符串的三种方法:

.toString

+'' //加上空字符串,若左右有一边是字符串,加号会尝试把左右两边数据转为字符串

window.String() //全局函数


boolean 布尔值

只有两个值:true false

a && b 在 a 和 b 都为 true 时,取值为 true;否则为 false;

a || b 在 a 和 b 都为 false 时,取值为 false;否则为 true。

转为布尔的两种方法:

Boolear()

!! // 取反再取反 快捷常用

Boolear(1)//true

!!1 //true

除了下面六个值被转为false,其他值都视为true。

undefined

null

false

0

NaN

""''(空字符串,引号中间无空格。需要与空格字符串区别开,前者长度为0,后者长度为1)。

注意,空数组([])和空对象({})对应的布尔值,都是true。


undefined 与 null 的区别

规范:如果一个变量没有被赋值,那么这个变量的值就是 undefiend。

习俗:

有一个对象object,暂不赋值,可初始设置为null;

有一个非对象,暂不赋值,可初始设置为undefined。


object 对象

对象是最复杂的数据类型,又可以分成三个子类型:

狭义的对象(object)

数组(array)

函数(function)

(狭义的对象和数组是两种不同的数据组合方式)

object 就是其他几种基本类型(无序地)组合在一起 object 里面可以有 object object 的 key 一律是字符串,不存在其他类型的 key object[''] 是合法的 object['key'] 可以写作 object.key (注意 object.key 与 object[key] 不同)

下面代码,用 delete 将 key 和 value 都清空了。

若直接将person.name=undefined,则key还保留着,只是value被更改。

delete person['name'] // 或者 delete person.name

person.name // undefined 无value

'name' in person //false 无key

用 for ...in 遍历 对象的属性(无序)

var person={name:'wy',gerder:'female'}

for(var key in person){

console.log(key)

console.log(person[key])//此处不能用person.key

}


typeof

使用 typeof 来查看数据类型

typeof 123 // “number”

typeof '123' // "string"

typeof false // "boolean"

function f(){}

typeof f()

// "function"

typeof undefined // "undefined"

一个变量a,若无声明而直接使用会报错,但若用typeof来检查,则不报错。

可利用此特性

if(typeof a==="undefined"){} // 由于之前a未声明,此处若不加typeof 则会报错

空数组[ ] 的类型也是object ,可见,js中,数组本质也是一种特殊对象;

不过,用 instanceof 运算符可以区分数组和对象。

typeof {} //"object"

typeof [] //"object"

var a={};

var b=[];

a instanceof Array //false

b instanceof Array // true

有两个特殊情况要注意,JS的历史遗留问题:

typeof null //"object"

typeof function(){} //"function"

实际上,null的类型应该为null,function的类型应该为对象(object)

(对象类型包括:狭义的对象、数组、函数)

255c5c56d48a6970336a532f04d6a514.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值