JavaScript 字符串
一个字符串用于存储一系列字符就像 “John Doe”.
一个字符串可以使用单引号或双引号:
var carname=“Volvo XC60”;
var carname=‘Volvo XC60’;
- 你使用位置(索引)可以访问字符串中任何的字符。字符串的索引从零开始, 所以字符串第一字符为 [0],第二个字符为 [1], 等等。
- 字符串(String)使用长度属性length来计算字符串的长度
- 特殊字符:
Javascript 中可以使用反斜线(\)插入特殊符号,如:撇号,引号等其他特殊符号。
查看如下 JavaScript 代码:
var txt=“We are the so-called “Vikings” from the north.”;
document.write(txt);
在JavaScript中,字符串的开始和停止使用单引号或双引号。这意味着,上面的字符串将被切成: We are the so-called
解决以上的问题可以使用反斜线来转义引号:
var txt=“We are the so-called “Vikings” from the north.”;
document.write(txt);
JavaScript将输出正确的文本字符串:We are the so-called “Vikings” from the north.
- 下面列出其他特殊字符,可以使用反斜线转义特殊字符:
String 对象
String 对象用于处理文本(字符串)。
String 对象创建方法: new String()。
var txt = new String(“string”);
或者更简单方式:
var txt = “string”;
String 对象属性
constructor
constructor 属性返回对 String 对象属性创建的函数。
语法:string.constructor
实例:
var txt = "Hello World!";
document.write(txt.constructor);
输出:function String() { [native code] }
length
length 属性返回字符串的长度(字符数)。
语法:string.length
实例:
<script>
var txt = "Hello World!";
document.write(txt.length);
</script>
输出:12
prototype
prototype 属性允许您向对象添加属性和方法
注意: Prototype 是全局属性,适用于所有的 Javascript 对象。
语法:object.prototype.name=value
实例:
function employee(name,jobtitle,born){
this.name=name;
this.jobtitle=jobtitle;
this.born=born;
}
var fred=new employee("Fred Flintstone","Caveman",1970);
employee.prototype.salary=null;
fred.salary=20000;
document.write(fred.salary);
输出:20000
String对象方法
// charAt() 方法可返回指定位置的字符。
// 第一个字符位置为 0, 第二个字符位置为 1,以此类推.
var str = "HELLO WORLD";
var n = str.charAt(str.length-1);
console.log(n);
// charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。
// 字符串中第一个字符的位置为 0, 第二个字符位置为 1,以此类推。
var str = "HELLO WORLD";
var n = str.charCodeAt(0);
console.log(n);
// concat() 方法用于连接两个或多个字符串。
// 该方法没有改变原有字符串,但是会返回连接两个或多个字符串新字符串。
var str1 = "Hello ";
var str2 = "world!";
var n = str1.concat("new",str2);
console.log(n);
// fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串。
// 注意:该方法是 String 的静态方法,字符串中的每个字符都由单独的 Unicode 数字编码指定。
// 使用语法:
String.fromCharCode()。
var n = String.fromCharCode(65);
console.log(n);
// indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
// 如果没有找到匹配的字符串则返回 -1。
// 注意: indexOf() 方法区分大小写。
var str="Hello world, welcome to the universe.";
var n=str.indexOf("welcome");
console.log(n);
// lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,如果指定第二个参数 start,则在一个字符串中的指定位置从后向前搜索。
// 注意: 该方法将从后向前检索字符串,但返回是从起始位置 (0) 开始计算子字符串最后出现的位置。 看它是否含有字符串。
// 开始检索的位置在字符串的 start 处或字符串的结尾(没有指定 start 时)。
// 如果没有找到匹配字符串则返回 -1 。
// 注意:lastIndexOf() 方法是区分大小写的!
var str=“I runoob,to runoob site.”;
var n=str.lastIndexOf(“runoob”);
console.log(n)
// includes() 方法用于判断字符串是否包含指定的子字符串。
// 如果找到匹配的字符串则返回 true,否则返回 false。
// 注意: includes() 方法区分大小写。
var str = "Hello world, welcome to the Runoob。";
var n = str.includes("world");
console.log(n);
// toLowerCase() 方法用于把字符串转换为小写。
var str="Runoob";
document.write(str.toLowerCase());
// toUpperCase() 方法用于把字符串转换为大写。
var str="Runoob";
document.write(str.toUpperCase());
// trim() 方法用于删除字符串的头尾空格。
// trim() 方法不会改变原始字符串。
var str = " Runoob ";
document.write(str.trim());
// toLocaleLowerCase() 方法根据本地主机的语言环境把字符串转换为小写。
// 本地是根据浏览器的语言设置来判断的。
// 通常,该方法与 toLowerCase() 方法返回的结果相同,只有几种语言(如土耳其语)具有地方特有的大小写映射。
// 注意: toLocaleLowerCase() 方法没有改变原始字符串。
// 提示: 使用 toLocaleUpperCase() 方法根据本地主机的语言将字符串转换为大写。
var str = "Runoob";
var res = str.toLocaleLowerCase();
document.write(res)
// toLocaleUpperCase() 方法根据本地主机的语言环境把字符串转换为大写。
// 本地是根据浏览器的语言设置来判断的。
// valueOf() 方法可返回 String 对象的原始值。
// 注意: valueOf() 方法通常由 JavaScript 在后台自动进行调用,而不是显式地处于代码中。
var str="Hello world!";
document.write(str.valueOf());
// toString() 方法返回一个表示 String 对象的值。
var str=123;
var res=str.toString();
console.log(typeof(res));
// slice(start, end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
// 使用 start(包含) 和 end(不包含) 参数来指定字符串提取的部分。
// 字符串中第一个字符位置为 0, 第二个字符位置为 1, 以此类推。
// 提示: 如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
var str="Hello world!";
var n=str.slice(1,5);
console.log(n);
// split() 方法用于把一个字符串分割成字符串数组。
// 提示: 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
// 注意: split() 方法不改变原始字符串。
var str="How are you doing today?";
var n=str.split("");
console.log(n)
// startsWith() 方法用于检测字符串是否以指定的子字符串开始。
// 如果是以指定的子字符串开头返回 true,否则 false。
// startsWith() 方法对大小写敏感。
var str = "Hello world, welcome to the Runoob.";
var n = str.startsWith("Hello");
console.log(n);
// substr() 方法可在字符串中抽取从 开始 下标开始的指定数目的字符。
// 提示: substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。
// 在 IE 4 中,参数 start 的值无效。在这个 BUG 中,start 规定的是第 0 个字符的位置。在之后的版本中,此 BUG 已被修正。
// ECMAscript 没有对该方法进行标准化,因此反对使用它。
// 注意: substr() 方法不会改变源字符串。
var str="Hello world!";
var n=str.substr(2,3)
console.log(n);
// substring() 方法用于提取字符串中介于两个指定下标之间的字符。
// substring() 方法返回的子串包括 开始 处的字符,但不包括 结束 处的字符。
var str="Hello world!";
document.write(str.substring(3)+"<br>");
document.write(str.substring(3,7));
// repeat() 方法字符串复制指定次数。
var str = "Runoob";
var n_str=str.repeat(2);
console.log(n_str)
String HTML包装方法
// anchor() 创建 HTML 锚。
//anchor() 方法用于创建 HTML 锚。
// 该方法返回加了 <a> 标签的字符串, 如下所示:
// <a name=“anchorname”>string</a>
var txt="Chapter 10";
txt.anchor("chap10");
alert(txt.anchor("chap10"));
// big() 用大号字体显示字符串。
var str = "Hello world!";
document.write(str.big());
// blink() 显示闪动字符串。
var str = "Hello world!";
document.write(str.blink());
// bold() 使用粗体显示字符串。
// fixed() 以打字机文本显示字符串。
var str = "Hello world!";
document.write(str.fixed());
// fontcolor() 使用指定的颜色来显示字符串。
// fontsize() 使用指定的尺寸来显示字符串。
var str = "Hello world!";
document.write(str.fontcolor("blue").fontsize(28));
// italics() 使用斜体显示字符串。
var str = "Hello world!";
document.write(str.italics());
// link() 将字符串显示为链接。
var str = "Free Web Building Tutorials!";
document.write(str.link("http://www.w3cschool.cc"));
// small() 使用小字号来显示字符串。
// strike() 用于显示加删除线的字符串。
var str = "Hello world!";
document.write(str.strike());
// sub() 把字符串显示为下标。
// sup() 把字符串显示为上标。
var str = "Hello world!";
document.write(str.sup());