一、概念
字符串就是一个或多个排列在一起的字符,放在单引号或双引号之中。比如:'abc'、"abc"
二、属性
-
constructor
返回对 String 对象属性创建的函数
var txt = "Hello World!"; txt.constructor; // function String() { [native code] }
-
length
返回字符串的长度
var str = "hello" str.length; // 5
-
prototype
允许您向对象添加属性和方法
var str = " ac c "; //使用String prototype 给用添加自定义方法。 String.prototype.trim = function(){ var start = 0; var end = code.length-1; while(start<=end && this.charAt(start) == ' '){ start++; } while(start<=end && this.charAt(end) == ' '){ end--; } //使用字符截取指定字符 return this.substring(start,end+1); }; //使用原型直接调用 console.log("--"+str.trim()+"--");// --ab c--
三、方法
-
charAt()
str.charAt(n)
返回字符串的第 n 个字符,如果不在 0~str.length-1之间,则返回一个空字符串。
var str = "javascript"; str.charAt(2); //'v' str.charAt(12); //''
-
charCodeAt()
str.charCodeAt(index)
返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。
如果 index 是负数,或大于等于字符串的长度,则 charCodeAt() 返回 NaN。var str = "javascript"; str.charCodeAt(2); // 118 str.charCodeAt(12); // NaN str.charCodeAt(-2); // NaN
-
codePointAt()
str.codePointAt(index)
返回指定位置的字符的 Unicode 编码。
如果 index 是负数,或大于等于字符串的长度,则 codePointAt() 返回 undefined。var str = "javascript"; str.codePointAt(2); // 118 str.charCodeAt(12); // undefined str.charCodeAt(-2); // undefined
-
concat()
str.concat(string1, string2, ..., stringX)
用于连接两个或多个字符串。
var str1="Hello "; var str2="world!"; var str3=" Have a nice day!"; var n = str1.concat(str2,str3);
-
endsWith()
str.endsWith(searchvalue, start)
检测字符串是否以指定的子字符串结束。
如果是以指定的子字符串结束返回 true,否则 false。
start 可选,查找的开始位置,默认为 0。
对大小写敏感。var str = "Hello world, welcome to the Runoob."; str.endsWith(".");// true str.endsWith(".",1);// false
-
fromCharCode()
String.fromCharCode(numX,numX,...,numX)
接受一个或多个指定的 Unicode 值,然后返回一个字符串
String.fromCharCode(72,69,76,76,79); // HELLO
-
fromCodePoint()
String.fromCodePoint(numX,numX,...,numX)
和ES5 提供String.fromCharCode()方法类似,fromCharCode()方法,用于从 Unicode 码点返回对应字符,但是这个方法不能识别码点大于0xFFFF的字符,比如:
String.fromCharCode(0x20BB7)
返回"ஷ",因为不能识别大于0xFFFF的码点,所以0x20BB7就发生了溢出,最高位2被舍弃了,最后返回码点U+0BB7对应的字符
ES6 提供了String.fromCodePoint()方法,可以识别大于0xFFFF的字符
如果String.fromCodePoint方法有多个参数,则它们会被合并成一个字符串返回。String.fromCodePoint(0x20BB7) // "𠮷" String.fromCodePoint(0x78, 0x1f680, 0x79) === 'x\uD83D\uDE80y' // true
-
includes()
string.includes(searchvalue, start)
判断