js字符串定义与操作小结

一、定义一个字符串变量的几种方式与区别
1、

var str = 'segmentfault';
console.log((typeof str),(str instanceof Object),(str instanceof String))

output: string false false

2、

var str = String('segmentfault');
console.log((typeof str),(str instanceof Object),(str instanceof String))

output: string false false

3、

var str = new String('segmentfault');
console.log((typeof str),(str instanceof Object),(str instanceof String))

output: object true true

说明:
首先有一点,在js中,数据类型分为两类:原始类型(primitive type)和对象类型(object type)。
那么我们来看第一种方法

var str = 'segmentfault';

创建的便是原始类型string,所以他的类型是string。而第三种方法

var str = new String('segmentfault');

则是使用了构造函数来创建了一个叫做String的对象类型,所以它的类型是对象,也就是Object。再来看第二种方法

var str = String('segmentfault');

这则是因为js里有一个函数就叫做String(),作用是把对象的值转换为字符串,所以就会有以上结果。

二、String 对象的属性

属性描述
constructor对创建该对象的函数的引用
length字符串的长度
prototype允许您向对象添加属性和方法

1、constructor属性

<script type="text/javascript">

    var str = new String('segmentfault');

    console.log(str.constructor);

</script>

output:String

2、length属性

<script type="text/javascript">

   var str = 'segmentfault';

    console.log(str.length);

</script>

output:12

3、prototype属性

<script type="text/javascript">

        //定义一个字符对象

        var s1=new String("abcde");

        String.prototype.alert=function(){

            alert("ok!");

        };

        //定义另一个字符对象

        var s2=String("abcde");

        s2.alert();

        //定义另一个普通的字符对象

        var s3="abcde";

        s3.alert();

    </script>

三、String 对象的方法

属性描述
anchor()创建 HTML 锚。
big()用大号字体显示字符串。
blink()显示闪动字符串。
bold()使用粗体显示字符串。
charAt()返回在指定位置的字符。
charCodeAt()返回在指定的位置的字符的 Unicode 编码。
concat()连接字符串。
fixed()以打字机文本显示字符串。
fontcolor()使用指定的颜色来显示字符串。
fontsize()使用指定的尺寸来显示字符串。
fromCharCode()从字符编码创建一个字符串。
indexOf()检索字符串。
italics()使用斜体显示字符串。
lastIndexOf()从后向前搜索字符串。
link()将字符串显示为链接。
localeCompare()用本地特定的顺序来比较两个字符串。
match()找到一个或多个正则表达式的匹配。
replace()替换与正则表达式匹配的子串。
search()检索与正则表达式相匹配的值。
slice()提取字符串的片断,并在新的字符串中返回被提取的部分。
small()使用小字号来显示字符串。
split()把字符串分割为字符串数组。
strike()使用删除线来显示字符串。
sub()把字符串显示为下标。
substr()从起始索引号提取字符串中指定数目的字符。
substring()提取字符串中两个指定的索引号之间的字符。
sup()把字符串显示为上标。
toLocaleLowerCase()把字符串转换为小写。
toLocaleUpperCase()把字符串转换为大写。
toLowerCase()把字符串转换为小写。
toUpperCase()把字符串转换为大写。
toSource()代表对象的源代码。
toString()返回字符串。
valueOf()返回某个字符串对象的原始值。

1、anchor()
语法

stringObject.anchor(anchorname)//anchorname 为必需。为锚定义名称。

示例

<script type="text/javascript">

var txt="Hello world!"
document.write(txt.anchor("myanchor"))

</script>

上面的代码将输出为纯粹的 HTML:

Hello world!

2、big()
语法

stringObject.big()

示例

<script type="text/javascript">

var str="Hello world!"
document.write(str.big())

</script>

在本例中,”Hello world!” 将被显示为大号字体:Hello world!

相同使用方法的还有blink()、bold()、fixed()、italics()、small()、strike()、sub()、sup()、toLocaleLowerCase()、toLocaleUpperCase()、toLowerCase()、toUpperCase()此处不再一一列举。

3、charAt()
语法

stringObject.charAt(index)//index为必需。表示字符串中某个位置的数字,即字符在字符串中的下标。

提示:
字符串中第一个字符的下标是 0。如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串。

示例
在字符串 “Hello world!” 中,我们将返回位置 1 的字符:

<script type="text/javascript">

var str="Hello world!"
document.write(str.charAt(1))

</script>

output:e

4、charCodeAt()
语法

stringObject.charCodeAt(index)//index为必需。表示字符串中某个位置的数字,即字符在字符串中的下标。

提示:
字符串中第一个字符的下标是 0。如果 index 是负数,或大于等于字符串的长度,则 charCodeAt() 返回 NaN。

示例
在字符串 “Hello world!” 中,我们将返回位置 1 的字符的 Unicode 编码:

<script type="text/javascript">

var str="Hello world!"
document.write(str.charCodeAt(1))

</script>

output:101

5、concat()
语法

arrayObject.concat(arrayX,arrayX,......,arrayX) /*arrayX为必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。*/

返回值:返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。
示例1

<script type="text/javascript">

var a = [1,2,3];
document.write(a.concat(4,5));

</script>

output:1,2,3,4,5

示例 2

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

var arr2 = new Array(3)
arr2[0] = "James"
arr2[1] = "Adrew"
arr2[2] = "Martin"

document.write(arr.concat(arr2))

</script>

output:George,John,Thomas,James,Adrew,Martin

示例 3

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

var arr2 = new Array(3)
arr2[0] = "James"
arr2[1] = "Adrew"
arr2[2] = "Martin"

var arr3 = new Array(2)
arr3[0] = "William"
arr3[1] = "Franklin"

document.write(arr.concat(arr2,arr3))

</script>

output:George,John,Thomas,James,Adrew,Martin,William,Franklin

6、fontcolor()
语法

stringObject.fontcolor(color) /*color为必需。为字符串规定 font-color。该值必须是颜色名(red)、RGB 值(rgb(255,0,0))或者十六进制数(#FF0000)。*/

示例
在本例中,”Hello world!” 将显示为红色:

<script type="text/javascript">

var str="Hello world!"
document.write(str.fontcolor("Red"))

</script>

fontsize()用法相同,暂且不做解释。

7、fromCharCode()
语法

String.fromCharCode(numX,numX,...,numX);
/*numX为必需。一个或多个 Unicode 值,即要创建的字符串中的字符的 Unicode 编码。 */ 

提示:该方法是 String 的静态方法,字符串中的每个字符都由单独的数字 Unicode 编码指定。
它不能作为您已创建的 String 对象的方法来使用。因此它的语法应该是 String.fromCharCode(),而不是 myStringObject.fromCharCode()。

示例

<script type="text/javascript">

document.write(String.fromCharCode(72,69,76,76,79))
document.write("<br />")
document.write(String.fromCharCode(65,66,67))

</script>

output:
HELLO
ABC

8、indexOf()

stringObject.indexOf(searchvalue,fromindex);
/*searchvalue   必需。规定需检索的字符串值。
fromindex   可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。*/

说明:
该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的开头(没有指定 fromindex 时)。如果找到一个 searchvalue,则返回 searchvalue 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。

注释:indexOf() 方法对大小写敏感!
注释:如果要检索的字符串值没有出现,则该方法返回 -1。

示例

<script type="text/javascript">

var str="Hello world!"
document.write(str.indexOf("Hello") + "<br />")
document.write(str.indexOf("World") + "<br />")
document.write(str.indexOf("world"))

</script>

output:
0
-1
6

9、lastIndexOf()
语法

stringObject.lastIndexOf(searchvalue,fromindex);
/*searchvalue   必需。规定需检索的字符串值。
  fromindex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的最后一个字符处开始检索。*/

返回值:如果在 stringObject 中的 fromindex 位置之前存在 searchvalue,则返回的是出现的最后一个 searchvalue 的位置。

说明:该方法将从尾到头地检索字符串 stringObject,看它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的结尾(没有指定 fromindex 时)。如果找到一个 searchvalue,则返回 searchvalue 的第一个字符在 stringObject 中的位置。stringObject 中的字符位置是从 0 开始的。

注释:lastIndexOf() 方法对大小写敏感!
注释:如果要检索的字符串值没有出现,则该方法返回 -1。
示例

<script type="text/javascript">

var str="Hello world!"
document.write(str.lastIndexOf("Hello") + "<br />")
document.write(str.lastIndexOf("World") + "<br />")
document.write(str.lastIndexOf("world"))

</script>

output:
6
-1
0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HTML5_syy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值