1.对象是 JavaScript 语言最主要的数据类型,三种原始类型的值——数值、字符串、布尔值——在一定条件下,也会自动转为对象,也就是原始类型的“包装对象”(wrapper)。
所谓“包装对象”,指的是与数值、字符串、布尔值分别相对应的Number
、String
、Boolean
三个原生对象。这三个原生对象可以把原始类型的值变成(包装成)对象。
- 这三个对象作为构造函数使用(带有
new
)时,可以将原始类型的值转为对象。 - 作为普通函数使用时(不带有
new
),可以将任意类型的值,转为原始类型的值。
2.某些场合,原始类型的值会自动当作包装对象调用,即调用包装对象的属性和方法。
- 自动转换生成的包装对象是只读的,无法修改。所以,字符串无法添加新属性。
- 调用结束后,包装对象实例会自动销毁。
3.如果要为字符串添加属性,只有在它的原型对象String.prototype
上定义。
4.Number
对象的静态属性。
Number.
POSITIVE_INFINITY
:正的无限,指向Infinity
。Number.
NEGATIVE_INFINITY
:负的无限,指向-Infinity
。Number.
NaN
:表示非数值,指向NaN
。Number.
MIN_VALUE
:表示最小的正数(即最接近0的正数,在64位浮点数体系中为5e-324
),相应的,最接近0的负数为-Number.MIN_VALUE
。Number.
MAX_SAFE_INTEGER
:表示能够精确表示的最大整数,即9007199254740991
。Number.
MIN_SAFE_INTEGER
:表示能够精确表示的最小整数,即-9007199254740991
。
5.Number
对象有4个实例方法,都跟将数值转换成指定格式有关。
Number.prototype.
toString()
用来将一个数值转为字符串形式。参数表示输出的进制。Number.prototype.
toFixed()
方法先将一个数转为指定位数的小数,然后返回这个小数对应的字符串。参数为小数位数。Number.prototype.
toExponential()
方法用于将一个数转为科学计数法形式。参数是小数点后有效数字的位数。Number.prototype.
toPrecision()
方法用于将一个数转为指定位数的有效数字。参数为有效数字的位数。Number.prototype.
toLocaleString()
方法接受一个地区码作为参数,返回一个字符串,表示当前数字在该地区的当地书写形式。
6.String对象方法。
String.
fromCharCode()
该方法是静态方法,参数是一个或多个数值,代表 Unicode 码点,返回值是这些码点组成的字符串。String.prototype.
charAt()
方法返回指定位置的字符,参数是从0
开始编号的位置。String.prototype.
charCodeAt()
方法返回字符串指定位置的 Unicode 码点(十进制表示),相当于String.fromCharCode()
的逆操作。String.prototype.
concat()
方法用于连接两个字符串,返回一个新字符串,不改变原字符串。String.prototype.
slice()
方法用于从原字符串取出子字符串并返回,不改变原字符串。它的第一个参数是子字符串的开始位置,第二个参数是子字符串的结束位置(不含该位置)。String.prototype.
substring()
方法用于从原字符串取出子字符串并返回,不改变原字符串。它的第一个参数表示子字符串的开始位置,第二个参数表示结束位置(返回结果不含该位置)。String.prototype.
substr()
方法用于从原字符串取出子字符串并返回,不改变原字符串。第一个参数是子字符串的开始位置(从0开始计算),第二个参数是子字符串的长度。String.prototype.
indexOf()
方法用于确定一个字符串在另一个字符串中第一次出现的位置,返回结果是匹配开始的位置。String.prototype.
trim()
方法用于去除字符串两端的空格,返回一个新字符串,不改变原字符串。String.prototype.
toLowerCase()
方法用于将一个字符串全部转为小写,返回一个新字符串,不改变原字符串。String.prototype.
toUpperCase()
则是全部转为大写。返回一个新字符串,不改变原字符串。String.prototype.
match()
方法用于确定原字符串是否匹配某个子字符串,返回一个数组,成员为匹配的第一个字符串。如果没有找到匹配,则返回null
。String.prototype.
search()
方法的用法基本等同于match
,但是返回值为匹配的第一个位置。如果没有找到匹配,则返回-1
。String.prototype.
replace()
方法用于替换匹配的子字符串,一般情况下只替换第一个匹配。String.prototype.
split()
方法按照给定规则分割字符串,返回一个由分割出来的子字符串组成的数组。String.prototype.
localeCompare()
方法用于比较两个字符串大小。