《你不知道的javascript》--读书笔记(12)

数组

在JavaScript中,数组可以容纳任何类型的值,可以是字符串、数字、对象,甚至是其他数组。

var arr = [1,"2",[3]]

数组声明后即可向其中加值,不用预设大小。

使用delete运算符可以将单元从数组中删除,删除后,数组length不变。

类数组

将类数组转化为真正的数组,通过数组工具函数indexOf(…)、concat(…)、foEach(…)等来实现。

字符串

字符串经常被当作字符串数组。字符串和数组很相似,他们都是类数组都有indexOf(…)和concat(…)方法。但这不意味着它们都是“字符数组”。
JavaScript中字符串是不可变的,而数组是可变的。

字符串不可变指字符串的成员函数不会改变其原始值,而是创建并返回一个新的字符串,而数组的成员函数都是在其原始值上进行操作。

数组的可变更成员函数reverse(),字符串无法借用。

var a = "newman";
Array.prototype.reverse.call(a);

变通办法:先将字符串转换为数组,待处理完后再将结果转换为字符串。

var c = a.split("").reverse().join("");

//对于包含复杂字符的字符串并不适用。

数字

JavaScript只有一种数值类型:number(数字)

包括“整数”和带小数的十进制数。

JavaScript没有真正意义上的整数,“整数”就是没有小数的十进制数。

二进制浮点数会出现如下情况:

0.1+0.2 === 0.3 //false

简单来说,二进制浮点数0.1和0.2并不是十分精确,它们想加的结果并非刚好等于0.3。

小结

  • JavaScript中数组是通过数字索引的一组任意类型的值。字符串和数组类似,但是它们的行为特征不同。JavaScript中数字包括“整数”和“浮点数”。

  • null类型只有一个值null,undefined类型也只有一个值undefined。所有变量赋值之前默认都是undefined。void运算符返回undefined。

  • 数字类型有几个特殊的值,包括NaN、+Infinity、-Infinity和-0。

  • 简单标量基本类型通过值复制来赋值,而复合值通过引用复制来赋值。JavaScript中的引用不能指向别的变量,只能指向值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值