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回车
\ttab(制表符)
\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("-"));