JS基本包装类型之三(String)
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)的更多相关文章
- 理解基本包装类型Number,String,Boolean
在前面我们知道了引用类型是什么了,也就能理解包装类型了.包装对象其实也是一种引用类型,之所以要单独提出来只不过是因为它们可以把原始类型的值变成(包装成)对象,这样它们也就获得了各自类型相应的特殊行为了 ...
- js基本包装类型及Math对象(八)
一.基本包装类型[继承于Object类型]1.Number().String().Boolean()引用数据类型[包装类型]分别对应的基本数据类型为number.string.boolean. 2.当 ...
- js基本包装类型
基本包装类型 3种特殊的引用类型 为了便于操作基本类型值,es还提供了3种特殊的引用类型: Boolean,Number,String. 每当读取一个基本类型值的时候,后台就会创建一个对应的基本包 ...
- js 基本包装类型 String
为了操作基本类型值,ECMAScript提供了三个特殊的引用类型: Boolean , Number , String 举例: var s1 = "some text"; var ...
- 基本数据类型,包装类型,String类型数据之间的转换
java中所有的类都从java.lang.Object类派生而来,在java语言中,除基本数据类型以外,基本数据类型有java类库体统了包装类:Integer类保存整形变量,Boolean类保存布尔变 ...
- JavaScript--我发现,原来你是这样的JS(再说引用类型,基本包装类型与个体内置对象)
一.介绍 本篇是续上一篇的,引用类型的后篇,本篇主要是说基本包装类型和个体内置对象.如果你能收获一些知识,那我很高兴,很满足,哈哈哈,希望大家能愉快看完.如果你想学好一门技术,要不忘初心,方得始终. ...
- JS--我发现,原来你是这样的JS(引用类型不简单[下篇],基本包装类型与个体内置对象)
一.介绍 本篇是续上一篇的,引用类型的下篇,本篇主要是说基本包装类型和个体内置对象.如果你能收获一些知识,那我很高兴,很满足,哈哈哈,希望大家能愉快看完.如果你想学好一门技术,要不忘初心,方得始终. ...
- ECMAScript1.4 对象 | 简单数据类型与复杂数据类型 | 内置对象 | 基本包装类型 | String
对象 函数和对象的区别: 函数:封装代码 对象:封装属性和方法 创建对象的方法: 1,对象字面量{} // 模拟创建一只dog var dog = { // 属性 name: 'puppy', age ...
- JS基础语法---基本包装类型
基本包装类型 普通变量不能直接调用属性或者方法 对象可以直接调用属性和方法 基本包装类型: 本身是基本类型, 但是在执行代码的过程中, 如果这种类型的变量调用了属性或者是方法, 那么这种类型就 ...
随机推荐
- git使用(2)
1.远程仓库 a SSHKEY 第1步:创建SSH Key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到 ...
- SCRUM 12.22
周一,大家现在课程也比较少,今天都在非常努力地写代码. 任务分配如往常一样,我们现在基本将工作的重心放在完善已有的组件上. 成员 任务 彭林江 落实API 牛强 落实意见反馈功能测试 高雅智 测试已完 ...
- Linux内核分析— —创建新进程的过程
分析Linux内核创建一个新进程的过程 实验过程 要求:使用gdb跟踪分析一个fork系统调用内核处理函数sys_clone ,验证对Linux系统创建一个新进程的理解,推荐在实验楼Linux虚拟机环 ...
- Leetcode——50.Pow(x, n)
@author: ZZQ @software: PyCharm @file: leetcode50_myPow.py @time: 2018/11/22 13:58 要求:实现 pow(x, n) , ...
- 小学四则运算APP 第二次冲刺 第四天
团队成员:陈淑筠.杨家安.陈曦 团队选题:小学四则运算APP 第二次冲刺阶段时间:11.29~12.09 本次发布的是合并后的选择题功能界面的设置: ChoiceSet.java: package c ...
- 数学战神app(小学生四则运算app)进度
背景音乐仍有瑕疵,还在完善,不过大概完成,完善按钮声音,提示音等. 许家豪:负责代码程序设计 陈思明:界面背景美化 吴旭涛.王宏财:查缺补漏
- Selenium Grid的Java调用方法
java -jar selenium-server-standalone-.jar -role hub explorer http://192.168.1.173:4444/grid/console ...
- Docker(二十七)-Docker 清理占用的磁盘空间
1. docker system命令 docker system df命令,类似于Linux上的df命令,用于查看Docker的磁盘使用情况: docker system dfTYPE TOTAL A ...
- 关于封装了gevent的request grequest库的使用与讨论
最近迷上了gevent所以研究很多gevent相关的东西. 但是我现在不想写相关gevent和greenlet的东西.因为这一块内容实在太多太大太杂,我自己也还没有完全弄明白,所以等我完全搞清楚测试也 ...
- html 背景
用語設置背景的屬性 bgcolor設置背景顏色.可以使用名字.16進制和rgb三種形式的參數: <body bgcolor="#000000"> <body bg ...