Web前端基础(5)JavaScript基础

字符串

字符串可以是插入到引号中的任何字符。你可以使用单引号或双引号

1
2
var text1 = "www.dp2px.com";
var text2 = 'www.dp2px.com';

字符串长度

可以使用内置属性 length 来计算字符串的长度

1
2
var text1 = "www.dp2px.com";
var sln = text1.length;

转义字符

代码 输出
\‘ 单引号
\“ 双引号
\\ 反斜杠
\n 换行
\r 回车
\t tab(制表符)
\b 退格符
\f 换页符

在 JavaScript 中,字符串写在单引号或双引号中,如果要在字符串中表示双引号和单引号就需要用到上面的转义字符。

1
var text = "my website is \"www.dp2px.com\""

String对象

通常, JavaScript 字符串是原始值,可以使用字符创建: var firstName = “John”
但我们也可以使用 new 关键字将字符串定义为一个对象: var firstName = new String(“John”)

1
2
3
var x = "John";              
var y = new String("John");
(x === y) // 结果为 false,因为 x 是字符串,y 是对象

=== 号为绝对相等,即数据类型与值都必须相等。

String对象方法

方法 描述
charAt() 返回指定索引位置的字符
charCodeAt() 返回指定索引位置字符的 Unicode 值
concat() 连接两个或多个字符串,返回连接后的字符串
fromCharCode() 将 Unicode 转换为字符串
indexOf() 返回字符串中检索指定字符第一次出现的位置
lastIndexOf() 返回字符串中检索指定字符最后一次出现的位置
localeCompare() 用本地特定的顺序来比较两个字符串
match() 找到一个或多个正则表达式的匹配
replace() 替换与正则表达式匹配的子串
search() 检索与正则表达式相匹配的值
slice() 提取字符串的片断,并在新的字符串中返回被提取的部分
split() 把字符串分割为子字符串数组
substr() 从起始索引号提取字符串中指定数目的字符
substring() 提取字符串中两个指定的索引号之间的字符
toLocaleLowerCase() 根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLocaleUpperCase() 根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLowerCase() 把字符串转换为小写
toString() 返回字符串对象值
toUpperCase() 把字符串转换为大写
trim() 移除字符串首尾空白
valueOf() 返回某个字符串对象的原始值

数组

数组对象是使用单独的变量名来存储一系列的值。

数组的声明

1
2
var arr = [1,3,5,7,9];
var arr = new Array(1,3,5);

访问数组元素

1
2
var textArr = ["刘备","诸葛亮","赵云","关羽"];
console.log(textArr[3]) //输出“关羽”,下标从0开始

遍历数组

1
2
3
4
5
6
7
8
9
10
var lis = document.getElementsByTagName("li");  // 得到所有的li
for(var i = 0; i<lis.length; i++) { //数组的长度: 数组名.length
if(i%2 == 0) { // 只有偶数能被2整除
lis[i].style.backgroundColor = "#eee";
}
//鼠标经过li 的时候, 当前的底色变亮
lis[i].onmouseover = function() {
this.className = "current";
}
}

数组常用方法

push追加

1
2
3
var arr =[1,3,5];
arr.push(7);
//结果变成 : [1,3,5,7];

unshift前面插入

1
2
3
var arr = [1,3,5];
arr.unshift(0);
//结果变成 [0,1,3,5]

pop删除最后一个元素

1
2
3
var arr = [1,3,5];
arr.pop();
//结果 [1,3]

shift删除第一个元素

1
2
3
var arr = [1,3,5];
arr.shift();
//结果 [3,5]

concat连接两个数组

1
2
3
4
var aa = [1,3,5];  
var bb = [“a”,”b”,”c”];
aa.concat(bb);
//结果:[1,3,5,“a”,”b”,”c”];

join把数组转换为字符串

1
2
3
var arr = [1,2,3];
console.log(arr.join(“-”));
//结果就是: 1-2-3 字符串

split把字符串转为数组

1
2
var txt = "aa-bb-cc-dd";
console.log(txt.split("-"));