1. 基本数据类型和基本包装类型

  这里以字符串类型来讲解基本数据类型和基本包装类型.

  JS中存在基本数据类型String(typeof返回"string"), 也存在基本包装数据类型String(typeof返回"object"). 所以为了便于区分, 我一般将基本数据类型的字符串记做string类型, 正好与typeof操作符的返回值是一样的.

var stringObj = new String("hello world!");
var str = stringObj.toString();
console.log(typeof stringObj);//"object"
console.log(typeof str);//"string"

实际上, 基本包装类型属于引用类型. 所以typeof操作符返回了"object". 每次读取一个基本数据类型的时候, 后台就会临时创建一个对应的基本包装类型的对象. 从而让我们能够调用一些方法来操作这些数据. 举个例子:

var s1 = "some text";
var s2 = s1.substring(2);
console.log(s2);

这个例子中的s1包含一个字符串, 字符串当然是基本数据类型string. 下一行调用该字符串的substring()方法. 当第二行代码访问s1时, 访问过程处于一种读取模式, 即要从内存中读取该字符串的值. 在读取模式中访问字符串时, 后台自动完成了下列处理:

var sTemp = new String(s1); console.log(typeof sTemp);
var s2 =sTemp.substring(2);
sTemp = null;

1) 创建String类型的一个临时实例;

2) 在该临时实例上调用指定的方法;

3) 销毁这个实例.

2. 基本包装类型之String

length属性

  stringValue.length

访问字符串中特定字符的方法

  stringValue.charAt(index)

  stringValue[index]

连接字符串

  stringValue.concat(new_string1, new_string2, ...);

  加号操作符

提取子字符串

  stringValue.slice()

  stringValue.substr()

  stringValue.substring()

查找子字符串位置

  stringValue.indexOf()

  stringValue.lastIndexOf()

大小写转换

  stringValue.toLowerCase()

  stringValue.toUpperCase()

正则匹配

trim()方法

  stringValue.trim() 返回字符串副本, 删除前置及后缀的所有空格.

localeCompare()方法

  stringValue.localeCompare(new_string) 比较两个字符串

  

  

JS基本包装类型之三(String)的更多相关文章

  1. 理解基本包装类型Number,String,Boolean

    在前面我们知道了引用类型是什么了,也就能理解包装类型了.包装对象其实也是一种引用类型,之所以要单独提出来只不过是因为它们可以把原始类型的值变成(包装成)对象,这样它们也就获得了各自类型相应的特殊行为了 ...

  2. js基本包装类型及Math对象(八)

    一.基本包装类型[继承于Object类型]1.Number().String().Boolean()引用数据类型[包装类型]分别对应的基本数据类型为number.string.boolean. 2.当 ...

  3. js基本包装类型

    基本包装类型   3种特殊的引用类型 为了便于操作基本类型值,es还提供了3种特殊的引用类型: Boolean,Number,String. 每当读取一个基本类型值的时候,后台就会创建一个对应的基本包 ...

  4. js 基本包装类型 String

    为了操作基本类型值,ECMAScript提供了三个特殊的引用类型: Boolean , Number , String 举例: var s1 = "some text"; var ...

  5. 基本数据类型,包装类型,String类型数据之间的转换

    java中所有的类都从java.lang.Object类派生而来,在java语言中,除基本数据类型以外,基本数据类型有java类库体统了包装类:Integer类保存整形变量,Boolean类保存布尔变 ...

  6. JavaScript--我发现,原来你是这样的JS(再说引用类型,基本包装类型与个体内置对象)

    一.介绍 本篇是续上一篇的,引用类型的后篇,本篇主要是说基本包装类型和个体内置对象.如果你能收获一些知识,那我很高兴,很满足,哈哈哈,希望大家能愉快看完.如果你想学好一门技术,要不忘初心,方得始终. ...

  7. JS--我发现,原来你是这样的JS(引用类型不简单[下篇],基本包装类型与个体内置对象)

    一.介绍 本篇是续上一篇的,引用类型的下篇,本篇主要是说基本包装类型和个体内置对象.如果你能收获一些知识,那我很高兴,很满足,哈哈哈,希望大家能愉快看完.如果你想学好一门技术,要不忘初心,方得始终. ...

  8. ECMAScript1.4 对象 | 简单数据类型与复杂数据类型 | 内置对象 | 基本包装类型 | String

    对象 函数和对象的区别: 函数:封装代码 对象:封装属性和方法 创建对象的方法: 1,对象字面量{} // 模拟创建一只dog var dog = { // 属性 name: 'puppy', age ...

  9. JS基础语法---基本包装类型

    基本包装类型 普通变量不能直接调用属性或者方法 对象可以直接调用属性和方法     基本包装类型: 本身是基本类型, 但是在执行代码的过程中, 如果这种类型的变量调用了属性或者是方法, 那么这种类型就 ...

随机推荐

  1. python中的文件读写(open()函数、with open('file_directory','r') as f:、read()函数等)

    python中也有文件读写,通过调用内置的读写函数.可以完成文件的打开/关闭.读.写入.追加等功能. open()函数 open()函数为python中的打开文件函数,使用方式为: f = open( ...

  2. .Net反编译软件

    .Net反编译软件 https://www.cnblogs.com/xiandnc/p/10132491.html 一说起.net的反编译软件,大家首先想到的就是Reflector,ILSpy,dot ...

  3. Prism6下的MEF:基于微软企业库的Cache

    通常,应用程序可以将那些频繁访问的数据,以及那些需要大量处理时间来创建的数据存储在内存中,从而提高性能.基于微软的企业库,我们的快速创建一个缓存的实现. 新建PrismSample.Infrastru ...

  4. MYSQL jdbc autoReconnect

    http://blog.csdn.net/a9529lty/article/details/7104351 http://blog.163.com/huangfei_person/blog/stati ...

  5. 画caffe训练loss曲线

    Linux下操作 1. 将loss值存储到lossInf.txt中 fName1='loss.txt' cat loss.log | grep "solver.cpp:218] Iterat ...

  6. SQL将Null转化为0

    使用ifnull() ) ; 使用判断 public function getGold($table,$querry,$start,$end,$status,$field) { $gold = Db: ...

  7. Laravel框架简单的用户管理[CURD]操作

    一个基于laravel和bootstrap的简单的用户管理,适合刚入门的我们,在做的过程中可以加深自己对laravel基础理解,里面存在一些问题,还未修改,比如css和js的引入,表单提交地址等不规范 ...

  8. hdu 3911 Black And White (线段树 区间合并)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3911 题意: 给你一段01序列,有两个操作: 1.区间异或,2.询问区间最长的连续的1得长度 思路: ...

  9. day9 集合基础命令

    集合的创建 s = set("hello") print(s) s = set({","alex","sb"}) print(s) ...

  10. 洛谷UVA12995 Farey Sequence(欧拉函数,线性筛)

    洛谷题目传送门 分数其实就是一个幌子,实际上就是求互质数对的个数(除开一个特例\((1,1)\)).因为保证了\(a<b\),所以我们把要求的东西拆开看,不就是\(\sum_{i=2}^n\ph ...