我们继续讨论在JavaScript中的数据类型。继Number之后就是另外两个非常重要的String类型和Object类型。
3.String类型
ECMAScript中规定字符串是不可变的,字符串一旦创建它的值是不能改变的,如果需要改变则需要另外创建字符串,去除改变之前的字符串,再创建新的字符串覆盖之前的字符串。以下例子
var str = 'nihao'
str = str+'zhongguo'
这样是另外创建的字符串覆盖之前的字符串,而不是直接更改原来的字符串。
几乎每一个数值,对象等变量都有一个toString() 方法,就是转化为字符串。(null和undifiend没有这个方法)
在数值使用toString方法的时候,可以传入的参数来确定是多少进制。以下例子
var num = 56
num.toString(2) //就是56的二进制‘111000’
其他的进制的使用方法都是一样的
String类型有一个很重要的方法String() ,这个方法也能将所有的值转为字符串。(包括null和undifiend),普通的值调用这个方法的话,内部调用的是toString()。而null和undifiend调用这个方法分别返回的是’null’和’undifiend’。
4.Object类型
对象类型包括数据与功能的集合,是比较复杂的数据类型。具体的内容是关于面向对象的分析。
每一次创建实例的时候都会调用Object,每一个对象都包含以下的方法,这些方法是理解js中关于数据的传输,保存重要的依据。以下是一些具体的方法:
constructor()//构造函数
hasOwnProperty(属性名)//检测给定的属性在当前实例中是否存在
isPrototypeof(object)//传入的对象是否是当前对象的原型
propertyIsEnumerable()//检测给定的属性是否能够使用for-in进行枚举
toString() //转为字符串
valueOf() //返回的对象用字符串,数值或者布尔类型,