博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript-数据类型
阅读量:6415 次
发布时间:2019-06-23

本文共 1771 字,大约阅读时间需要 5 分钟。

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会有全局局限性,跨iframe的Array通过instanceod检测类型会有问题,更安全的类型检测时Object.prototype.toString().call(Arr),引用类型的引用指针是存储在栈里,而实际的对象值存储在堆(可以动态申请大小)里,一个堆可以对应多个指针栈,所以当所有的指针栈消失后对应的堆才被释放数组:Array 类型 ,声明方式```var a = new Array(aru); // aru可以是长度或者初始化参数或者没有aruvar 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不为0,arg3。。有值则是将arg3以及以后的元素进行替换,arg2为0其余条件不变则为插入,arg2不为0并且后面没有其他的参数了(没有arg3,,,)则为删除迭代方法:reduce(func(prev, cur, index, Array){}),reduceRight(),一个是从左到右一个是从右到左,返回结果作为下一个prev

(3) 类型转化

1、其它类型转Boolean,可以通过!!或者Boolean(),例如```!!1 // true!!0 // falseBoolean('hello') // true```**注**:其它类型的值转为boolean时只有'',null,undefined,0,NaN是false,其余一律是true2、其它类型转number,通过Number(),parseInt(),parseFloat()```Number(true) // 1 parseInt()同样Number(false) // 0 parseInt()同样Number(null) // 0 parseInt()同样Number(undefined) // NaN parseInt()同样Number('') // 0, 非浮点、数字、十六进制、空字符串的其他字符串转化后是NaNparseInt('') // 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'```

转载地址:http://bwcra.baihongyu.com/

你可能感兴趣的文章
送给即将踏入软考征途的你
查看>>
要命啦!Word中快速录入大全,内含快捷键小技巧,快来一起学习!
查看>>
javascript实现音频mp3播放
查看>>
html5-离线缓存
查看>>
【JS插件】项目中用过的框架插件集合&使用心得
查看>>
linux系统安装完后的常见工作
查看>>
在Linux服务器、客户端中构建密钥对验证进行远程连接
查看>>
揪出MySQL磁盘消耗迅猛的真凶
查看>>
和“C”的再遇
查看>>
linux 的日志系统
查看>>
[转]一个python‘非多态’的问题
查看>>
一键安装kubernetes 1.13.0 集群
查看>>
Java内存模型
查看>>
第一讲 机器学习中的数学
查看>>
RabbitMq的集群搭建
查看>>
asp.net web常用控件FileUpload(文件上传控件)
查看>>
动态网页的建立
查看>>
参数展开与特殊字符
查看>>
spring boot + mybatis 同时访问多数据源
查看>>
URL中汉字转码
查看>>