javascript-数据类型

栏目: JavaScript · 发布时间: 6年前

内容简介:(1) 基本数据类型:string,number(flaot,精度17位小数,integer,Integer.MAX_VALUE获取整形最大值),boolean,null,undefined, typeof后依次对应string number,boolean,object,undefined,存储在内存中的栈里,执行环境销毁后基本类型的值销毁(2) 引用数据类型:包含数组、函数,{}, typeof后依次对应object,function,object(3) 类型转化

3.1 数据类型

(1) 基本数据类型:string,number(flaot,精度17位小数,integer,Integer.MAX_VALUE获取整形最大值),boolean,null,undefined, typeof后依次对应string number,boolean,object,undefined,存储在内存中的栈里,执行环境销毁后基本类型的值销毁

(2) 引用数据类型:包含数组、函数,{}, typeof后依次对应object,function,object

所以数组和普通对象通过typeof是区分不出来的,可以通过instanceof区分,但是instanceof会有全局局限性,跨iframeArray通过instanceod检测类型会有问题,更安全的类型检测时Object.prototype.toString().call(Arr),引用类型的引用指针是存储在栈里,而实际的对象值存储在堆(可以动态申请大小)里,一个堆可以对应多个指针栈,所以当所有的指针栈消失后对应的堆才被释放
数组:Array 类型 
声明方式
```
var a = new Array(aru); // aru可以是长度或者初始化参数或者没有aru
var a = []; // 字面量形式
```
检测方式:instanceof Array, isArray()
栈数组:通过push(),pop()方法模拟类似栈的数组;队列数组:通过shift(),push();
排序方法:reverse(func(argue1, argue2)) // 倒置;sort() // 默认是升序,将每一项转变为字符串然后比较,自定义函数比较 如果返回负数那么argue1 在argue2前,正数反之
操作方法:concat(arg1,arg2...),基本参数数组新建数组,然后添加剩余参数到数组中;slice(start,end),截取部分数组,end默认值是数组末尾;splice(arg1,arg2,arg3..),如果arg1存在,arg2不为0arg3。。有值则是将arg3以及以后的元素进行替换,arg20其余条件不变则为插入,arg2不为0并且后面没有其他的参数了(没有arg3,,,)则为删除
迭代方法:reduce(func(prev, cur, index, Array){}),reduceRight(),一个是从左到右一个是从右到左,返回结果作为下一个prev

(3) 类型转化

1、其它类型转Boolean,可以通过!!或者Boolean(),例如
```
!!1 // true
!!0 // false
Boolean('hello') // true
```
**注**:其它类型的值转为boolean时只有'',null,undefined,0,NaNfalse,其余一律是true

2、其它类型转number,通过Number(),parseInt(),parseFloat()
```
Number(true) // 1 parseInt()同样
Number(false) // 0 parseInt()同样
Number(null) // 0 parseInt()同样
Number(undefined) // NaN parseInt()同样
Number('') // 0, 非浮点、数字、十六进制、空字符串的其他字符串转化后是NaN
parseInt('') // NaN 字符串中开头的除去空格字符如果不是数字或者负号就会返回NaN,数字后面的空格会被忽略
parseFloat('') // NaN 不同于parseInt的是第一个可以.
```
3 其它类型转string,通过value.toString(arg),其中arg表示进制,String(value)
```
true.toString(); // 'true' String(value) 一样
1.toString(); // '1' String(value) 一样
null.toString(); // 报错
undefined.toString(); // 报错
String(null) // 'null'
String(undefined) // 'undefined'
```

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

免费

免费

[美] 克里斯·安德森 / 蒋旭峰、冯斌、璩静 / 中信出版社 / 2009-9 / 39.00

在《免费:商业的未来 》这本书,克里斯·安德森认为,新型的“免费”并不是一种左口袋出、右口袋进的营销策略,而是一种把货物和服务的成本压低到零的新型卓越能力。在上世纪“免费”是一种强有力的推销手段,而在21世纪它已经成为一种全新的经济模式。 究竟什么是免费商业模式?根据克里斯·安德森的说法,这种新型的“免费”商业模式是一种建立在以电脑字节为基础上的经济学,而非过去建立在物理原子基础上的经济学。......一起来看看 《免费》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具