JS语法总结(二)
1.字符串
JavaScript 字符串用于存储和处理文本。
1.1JavaScript 字符串
字符串可以存储一系列字符,如 “John Doe”。
字符串可以是插入到引号中的任何字符,可以使用单引号或双引号:
var carname = "Volvo XC60";
var carname = 'Volvo XC60';
可以使用索引位置来访问字符串中的每个字符:
var character = carname[7];
字符串的索引从 0 开始,这意味着第一个字符索引值为 [0],第二个为 [1], 以此类推。
也可以在字符串中使用引号,字符串中的引号不要与字符串的引号相同:
var answer = "It's alright";
var answer = "He is called 'Johnny'";
var answer = 'He is called "Johnny"';
也可以在字符串添加转义字符来使用引号:
var answer = 'It\'s alright';
var answer = "He is called \"Johnny\"";
1.2字符串长度
可以使用内置属性 length 来计算字符串的长度:
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sl = txt.length;
1.3特殊字符
在 JavaScript 中,字符串写在单引号或双引号中。
但是,以下实例 JavaScript 无法解析:x
"We are the so-called "Vikings" from the north."
字符串 "We are the so-called " 被截断。
可以使用反斜杠 () 来转义 “Vikings” 字符串中的双引号,如下:
"We are the so-called \"Vikings\" from the north."
反斜杠是一个转义字符,转义字符将特殊字符转换为字符串字符。
转义字符 () 可以用于转义撇号,换行,引号,等其他特殊字符。
下表中列举了在字符串中可以使用转义字符转义的特殊字符:
代码 | 输出 |
---|---|
’ | 单引号 |
" | 双引号 |
\ | 反斜杠 |
\n | 换行 |
\r | 回车 |
\t | tab(制表符) |
\b | 退格符 |
\f | 换页符 |
1.4字符串可以是对象
var x = "John";
var y = new String("John");
typeof x // returns String
typeof y // returns Object
var x = "John";
var y = new String("John");
(x === y) // is false because x is a string and y is an object.
1.5字符串属性和方法
属性
属性 | 描述 |
---|---|
constructor | 返回创建字符串属性的函数 |
length | 返回字符串的长度 |
prototype | 允许您向对象添加属性和方法 |
方法
方法 | 描述 |
---|---|
charAt() | 返回指定索引位置的字符 |
charCodeAt() | 返回指定索引位置字符的 Unicode 值,var str = "HELLO WORLD";str.charCodeAt(0); // 返回 72 |
concat() | 连接两个或多个字符串,返回连接后的字符串 |
fromCharCode() | 将指定的 Unicode 值转换为字符串 |
indexOf() | 返回字符串中检索指定字符第一次出现的位置 |
lastIndexOf() | 返回字符串中检索指定字符最后一次出现的位置 |
localeCompare() | 用本地特定的顺序来比较两个字符串 |
match() | 找到一个或多个正则表达式的匹配 |
replace() | 替换与正则表达式匹配的子串,返回的是新字符串 |
search() | 检索与正则表达式相匹配的值/搜索特定值的字符串,并返回匹配的位置var str = "The full name of China is the People's Republic of China.";var pos = str.search("locate"); |
slice(start, end) | 提取字符串的片断,并在新的字符串中返回被提取的部分 |
split() | 把字符串分割为子字符串数组。如果省略分隔符,被返回的数组将包含 index [0] 中的整个字符串;如果分隔符是 “”,被返回的数组将是间隔单个字符的数组。 |
substr(start, length) | 从起始索引号提取字符串中指定数目的字符,第二个参数规定被提取部分的长度 |
substring(start, end) | 提取字符串中两个指定的索引号之间的字符 |
toLowerCase() | 把字符串转换为小写 |
toString() | 返回字符串对象值 |
toUpperCase() | 把字符串转换为大写 |
trim() | 移除字符串首尾空白 |
valueOf() | 返回某个字符串对象的原始值 |
2.this
JavaScript this 关键词指的是它所属的对象。
它拥有不同的值,具体取决于它的使用位置:
在方法中,this 指的是所有者对象。
单独的情况下,this 指的是全局对象。
在函数中,this 指的是全局对象。
在函数中,严格模式下,this 是 undefined。
在事件中,this 指的是接收事件的元素。
var person = {
firstName: "Bill",
lastName : "Gates",
id : 678,
fullName : function() {
return this.firstName + " " + this.lastName;
}
};
2.1方法中的 this
在对象方法中,this 指的是此方法的“拥有者”。
在上面的例子中,this 指的是 person 对象。
person 对象是 fullName 方法的拥有者。
2.2单独的 this
在单独使用时,拥有者是全局对象,因此 this 指的是全局对象。
在浏览器窗口中,全局对象是 [object Window]:
var x = this;
2.3对象方法绑定
在此例中,this 是 person 对象(person 对象是该函数的“拥有者”):
var person = {
firstName : "Bill",
lastName : "Gates",
id : 678,
myFunction : function() {
return this;
}
};
——————
参考文章链接:
link.