JavaScript之字符串
一、声明方式
1. 直接赋值
var str = 'hello javascript';
2. 构造函数
var str2 = new String('hello world');
这两种有什么区别呢?
第一种方式只是声明了一个变量,使用typeof str得到的是'string'。而第二种方式则创建了一个String的包装对象,typof str2得到的是’object'。 通过console.log输出
console.log(str); // 'hello world'
console.log(st2); //String {0: "h", 1: "e", 2: "l", 3: "l", 4: "o", 5: " ", 6: "w", 7: "o", 8: "r", 9: "l", 10: "d", length: 11, [[PrimitiveValue]]: "hello world"}
str2中的[[PrimitiveValue]]的值是由str2的toString()方法而来的一个string值。
因为str2是一个对象,所以可以给str2设置属性,而str不可以
str.a = 'barret'
console.log(str.a) //undefined str2.a = 'barret'
console.log(str2.a) //barret
二、String方法
1. charCodeAt(index): 返回指定位置的Unicode编码。
注释:字符串中第一个字符的下标是 0。如果 index 是负数,或大于等于字符串的长度,则 charCodeAt() 返回 NaN。
var str = 'a';
str.charCodeAt(str[0]); //
str.charCodeAt(str[1]); //NaN
2. charAt(index): 返回指定位置的字符,javascript并没有区别于字符串类型的字符类型,返回的只是长度为1的字符串。
注释:字符串中第一个字符的下标是 0。如果 index 是负数,或大于等于字符串的长度,则 charAt() 返回 ''。
var str = 'a';
str.charAt(0); // 'a'
str.chartAt(1); // ''
3. fromCharCode(code1, code2, ..., codeN): 从Unicode返回字符。参数为一个或多个Unicode值, 用逗号分隔。如果参数为空,则返回空字符串。
注释:fromCharCode为String的静态方法,所以调用为String.fromCharCode(),而不是myStr.fromCharCode();
String.fromCharCode(97,98); // "ab"
4. slice(start[, end]): 方法返回字符串的片段,返回一个新的数组而不是改变原数组。
start下标从0开始的string指定部分起始索引。如果start为负,则将start + length处理, 若相加后start仍未负,则按0处理。
end下标从0开始的string指定部分结束索引。如果start为负,则将end + length处理, 若相加后end仍未负,则按0处理。
var str = 'abcdef';
str.slice(0, 2); // 'ab'
str.slice(0, -1); // 'abcde'
str.slice(0); // 'abcdef'
str.slice(); // 'abcdef'
str.slice(-7, -9); // ''
str.slice(-7, 2); // 'ab' 等同于str.slice(0,2);
5. substring(start, end): 返回字符串的片段,返回一个新的数组而不是改变原数组。
start指定子字符串的起始位置, 该索引从0开始起算。
end指定子字符串的结束位置, 该索引从0开始起算。
注释:substring方法使用start和end两者中较小值作为子符串起点。 如果start或end未NaN或负数则将其替换为0。如果没有第二个参数,则将字符串的长度作为结束位置。
var str = 'abcdef';
str.substring(2, 4); // 'cd' 等同于str.substring(4, 2);
str.substring(-1, 2); // 'ab' 等同于str.substring(0, 2);
6. indexOf(substr, [startIndex]): 返回字符串在String对象内第一次出现在子字符串的位置。如果没有找到,则返回-1。
substr要在String对象中查找的子字符串。
startIndex该整数值指出在String对象内开始查找的索引。
var str = 'abcdef';
str.indexOf('cd', 2); //
str.indexOf('cd', 3); // -1
7. lastIndexOf(substr, [startIndex]): 返回String对象中字符串最后出现的位置, 参数同indexOf。
var str = 'abcdefcdg'
str.lastIndexOf('cd', 6); //
str.lastIndexOf('cd', 5); //
8. search(reExp): 返回与正则表达式查找内容匹配的第一个字符串的位置。
注释:如果没匹配到字符串, 则返回-1,search不执行全局匹配, 忽略标志g和lastIndex属性, 总返回第一个匹配。
var str = 'abcdef';
str.search('cd'); // 2 等同于str.search(/cd/);
9. concat(string1[,string2....]): 返回两个或多个字符串的连接
var str1 = 'abc';
str1.concat('def'); // 'abcdef'
10. split(separator[, limit]): 将一个字符串分割为子字符串, 然后将结果作为字符串返回。
separator可以使字符串货正则表达式对象。如果忽略,则返回包含整个字符串的单一元素数组。
limit用来限制返回数组中的元素个数。
var str = 'ab,cd,ef';
str.split(','); // ['ab', 'cd', 'ef']
str.split(',', 2); // ['ab', 'cd']
11. replace(param): 字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串,返回一个新的数组而不是改变原数组。
var str = 'abcdef';
var str2 = str.replace('a', '1');
var str3 = str.replace(/bc/, '2');
console.log(str); // 'abcdef'
console.log(str2); // '1bcdef'
console.log(str3); // 'a2def'
JavaScript之字符串的更多相关文章
- JavaScript中字符串去掉特殊字符和转义字符
<pre name="code" class="javascript">/*** * 去掉字符串中的特殊字符 */ var excludeSpeci ...
- JavaScript实现字符串的contains函数
JavaScript实现字符串的contains函数 / * * string:原始字符串 * substr:子字符串 * isIgnoreCase:忽略大小写 * / function co ...
- javascript 过滤字符串中的中文与空格
js 如何过滤字符串里中文或空格呢?方法有很多种,我们可以使用替换与正则表达式来实现,本文向大家介绍两个简单的例子,感兴趣的码农可以参考一下. 1.javascript过滤空格: function m ...
- javascript截取字符串(支持中英文混合)
javascript截取字符串(支持中英文混合) <script type="text/javascript"> var sub=function(str,n){ va ...
- Javascript 查找字符串中出现最多的字符和出现的次数
<script type="text/javascript"> //查找字符串中出现最多的字符和出现的次数 var str = 'Thatwheneying its o ...
- javascript中字符串常用操作整理
javascript中字符串常用操作整理 字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用 ...
- Javascript 将字符串替换为特定的规律的字符串
Javascript 将字符串替换为特定的规律的字符串 这是测试过程,可以再简化一点. function spinalCase(str) { // "It's such a fine lin ...
- Javascript 对象 - 字符串对象
字符串对象 字符串对象是JavaScript中比较常见的一种基本数据类型,他封装了一个字符串,并且提供了相应的方法.例如连接字符串.取字符串.分割字符串等.JavaScript中字符串是不可变的,原始 ...
- JavaScript中字符串的方法:charAt()、charCodeAt()、indexOf()、lastIndexOf()、substr()、slice()、substring()、search()、replace()、split()、concat()、toLowerCase()、toUpperCase()
1.字符创的创建: //1.通过new 来创建 var str = String("javascript"); //2.3.直接使用字面量进行创建 var str='html5'; ...
- javascript计算字符串长度
javascript计算字符串长度 学习了:https://blog.csdn.net/u012934325/article/details/75214847 function getByteLen( ...
随机推荐
- SQL Server复制入门(一)----复制简介【转】
SQL Server复制入门(一)----复制简介 简介 SQL Server中的复制(Replication)是SQL Server高可用性的核心功能之一,在我看来,复制指的并不仅仅是一项技术,而是 ...
- iOS 原生地图(MapKit、MKMapView)轨迹渐变
WechatIMG2.png 项目已接入高德地图,并且大部分功能已经实现好,但BOSS觉得iOS自带的地图效果更好...本着面向老板编程的思想,换之.还好,高德地图是在MapKit上封装的,大部分ap ...
- lambda形式(转)
lambda语句被用来创建新的函数对象,并且在运行时返回它们. 使用lambda形式 #!/usr/bin/python# Filename: lambda.py def make_repeater( ...
- XCode4中的文本查找和文本替换功能
转自:http://blog.csdn.net/zhuzhihai1988/article/details/7843186 1.如果是在打开的文档范围内: 查找: Command+ F ...
- NopCommerce使用Autofac实现依赖注入
NopCommerce的依赖注入是用的AutoFac组件,这个组件在nuget可以获取,而IOC反转控制常见的实现手段之一就是DI依赖注入,而依赖注入的方式通常有:接口注入.Setter注入和构造函数 ...
- 项目源码--Android类似酷狗音乐播放器
下载源码 知识技能概要: 1.音乐文件的扫描与管理 2.音频流的解码 3. UI控件的综合使用 4.播放列表方式管理 5.随机播放方式 6.源码带详细的中文注释 ...... 详细介绍 1. 音乐文件 ...
- 开发一个支持多用户在线的FTP程序
要求: 用户加密认证 允许同时多用户登录 每个用户有自己的家目录 ,且只能访问自己的家目录 对用户进行磁盘配额,每个用户的可用空间不同 允许用户在ftp server上随意切换目录 允许用户查看当前目 ...
- C#之面向对象初步
1.构造函数定义一个类时,C#默认会实现一个隐式的构造函数,默认的构造函数不接受参数,负责把新对象分配到内存中并确保所有字段数据都设置为正确的默认值.然而,一旦自定义了构造函数,默认构造函数就被自动从 ...
- MS SQL SERVER 中的系统表
MS SQL SERVER 中的系统表 序号 名称 说明 备注 1 syscolumns 每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行. 2 syscomments 包含每 ...
- 转: React系统的入门系统
评注:React系统的入门系统. 转: http://www.infoq.com/cn/search.action?queryString=%E6%B7%B1%E5%85%A5%E6%B5%85%E ...