您的位置:首页 > Web前端 > JavaScript

JavaScript读书笔记---基本数据类型string与基本包装类型String

2015-07-25 21:36 645 查看
读书笔记,主要内容来自《JS高级程序设计》

--------

string属于JS中基本数据类型(Undefined,Null,Boolean,Number,String)之一,为了便于操作基本数据类型,ECMAScript提供了对应的String基本包装类型(下面称为String对象)。

一、 string基本类型

1.使用方式-对象字面量

var str1 = “hello world”;

var str2 = ‘hello world’;

2.字符串特点-不可变

字符串一旦创建,其值就不能改变。例如:

var str3 = “hello”;

str3 = str3 +“ world”;

创建一个新的字符串“hello world”,将其赋给str3,并将原来的旧值销毁。

二、 String基本包装类型

基本包装类是为了便于操作基本类型的值。JS中的String类与其他引用类型(Array类,Date类,Function类等)类似,提供了很多便于操作的函数。

1.使用方式-构造函数

var strObj = new String(“hello world”);

2.String对象

String对象有自己的属性和方法,最常用的属性就是String.length,另String.prototype属性允许我们向对象添加属性和方法。

String对象提供了很多方法,用于对字符串的解析和操作,这里主要讲解他们的关系,更多String对象的方法请参考 http://www.w3school.com.cn/jsref/jsref_obj_string.asp

三、 关系

这里暂且称为他们之间的关系。在JavaScript中,我们更多的是使用基本数据类型string,并且这个时候却可以正常的使用一些String类的方法。例如:



原因(来自JS高级程序设计):“每当读取一个基本类型值的数据,后台就会创建一个对应的基本包装类型的对象,从而能够调用一些方法来操作这些数据。”所有的基本字符串值都能访问String类的方法。

上面的过程,在后台就是:

1. 创建String类的一个实例

var s1 = new String(“hello”);

2. 在实例上调用方法

s2 = s1.substring(2);

3. 销毁这个实例

s1 = null;

四、 引用类型与基本包装类型的区别

显式的使用new操作符去创建一个引用类型的实例,与后台自动创建的基本包装类型的对象是有区别的。

1. 后台自动创建





自动创建的基本包装类型的对象,只存在于一行代码的执行瞬间。在执str1.color=”red”时,创建了一个String对象,执行完就被销毁了。在访问color属性的时候,又创建了一个String对象,这个对象是没有color属性的。还是上面 那句:每当读取一个基本类型值的数据,后台就会创建一个对应的基本包装类型的对象。

只要我们没有显示创建一个String对象,它就是一个基本数据类型,能访问一些String对象的方法(因为执行时,后台会有一些操作),需要注意的就是不能在运行的时候给基本类型添加属性和方法。

2. 显式创建对象

显示创建一个基本包装类型的对象,可以访问所有属性和方法,也可以添加属性和方法。



这个时候我们可以访问到添加的属性,因为它本身就是一个String类型的实例。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: