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. Java的Vector源码阅读

    * The {@code Vector} class implements a growable array of * objects. Like an array, it contains comp ...

  2. 如何批量删除Docker中已经停止的容器

    如何批量删除Docker中已经停止的容器   方法一: #显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID, sudo docker ps -a|grep Exited|awk '{p ...

  3. Mybatis源码分析

    MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以对配置和原生Map使用简 ...

  4. Mysql性能优化二:索引优化

    1 索引的类型 UNIQUE唯一索引 不可以出现相同的值,可以有NULL值. INDEX普通索引 允许出现相同的索引内容. PRIMARY KEY主键索引 不允许出现相同的值,且不能为NULL值,一个 ...

  5. webpack4.x相关笔记整理

    概念 Webpack是一个模块打包机,它可以将我们项目中的所有js.图片.css等资源,根据其入口文件的依赖关系,打包成一个能被浏览器识别的js文件.能够帮助前端开发将打包的过程更智能化和自动化. W ...

  6. python模块_pcharm导入包的问题

    1.添加pip包 2.导入项目需要由内置包(library root)

  7. SVN上线步骤笔记

    项目代码位置: /data/svn/play_out 项目代码目录名称: test SVN创建位置:/data/svn/repos_Websvn线上地址:svn://192.168.1.1/repos ...

  8. spring学习总结(一)_Ioc基础(上)

    最近经历了许许多多的事情,学习荒废了很久.自己的目标成了摆设.现在要奋起直追了.最近发现了张果的博客.应该是一个教师.看了他写的spring系列的博客,写的不错.于是本文的内容参考自他的博客,当然都是 ...

  9. HTML5 & auto download image

    HTML5 & auto download image https://www.sitepoint.com/new-html5-attributes-hyperlinks-download-m ...

  10. 《ERP系统》客户信用及风控代码

    1.风控核心代码: <?php namespace core\models; class SalesCustomersFacade extends \common\models\Base{ /* ...