WEB基础之:JavaScript中的数据类型操作
JavaScript中的数据类型操作
1. 字符串
-
**单引号和双引号:**在JavaScript中,您可以选择单引号或双引号来包裹字符串。
-
**转义字符串中的字符:**如转义
'
号,let bigmouth = 'I\'m fine';
-
上下文中的串联
-
<button>Press me</button> const button = document.querySelector('button'); button.onclick = function() { let name = prompt('What is your name?'); alert('Hello ' + name + ', nice to see you!'); } 使用的是第4行中的window.prompt() 函数, 它要求用户通过一个弹出对话框回答一个问题然后将他们输入的文本存储在一个给定的变量中 — 在这个例子中是就是 name 变量。然后,我们在第5行中使用 window.alert() 函数来显示另一个弹出窗口,其中包含一个字符串,我们用两个字符串常量和name变量通过连接进行组合。
-
-
数字与字符
-
当我们尝试添加(或连接)一个字符串和一个数字时,浏览器会将数字转换为字符串,并将这两个字符串连接在一起。如:
'Front ' + 242;
-
可以通过用引号将数字包装成一个字符串:如:
let myDate = '1' + '2'; typeof myDate;
-
Number方法将把传递给它的任何东西转换成一个数字
let myString = '123'; let myNum = Number(myString); typeof myNum;
-
每个数字都有一个名为
toString()
的方法,将数字转换成等价的字符串。let myNum = 123; let myString = myNum.toString(); typeof myString;
-
1.1 字符串方法
-
获得字符串的长度
let myString = 'asfghjasfghjk'; myString.length;
-
检索特定字符串字符
myString[1]; //"s"
-
indexOf() 在字符串中查找子字符串
myString.indexOf('jas'); //5;找到返回所查找子字符串的首字符所在位置索引; myString.indexOf('jar'); //-1;找不到返回-1
-
slice() 在字符串中提取子字符串
myString.slice(1,5); //"sfgh"; 提取从第一个位置开始,直到但不包括最后一个位置。 // 在某个字符之后提取字符串中的所有剩余字符,则不必包含第二个参数,而只需要包含要从中提取的第一个字符位置。 myString.slice(1); //"sfghjasfghjk"
-
toUpperCase()/toLowerCase() 转换大小写
//字符串方法toLowerCase()和toUpperCase()字符串并将所有字符分别转换为小写或大写。 myString.toUpperCase(); //"ASFGHJASFGHJK" myString.toLowerCase(); //"asfghjasfghjk"
-
替换字符串的某部分
myString.replace('asf','*Carey*'); //"*Carey*ghjasfghjk"
-
方法总结:
方法名称 | 描述 |
---|---|
charAt() | 返回指定索引位置的字符 |
charCodeAt() | 返回指定索引位置字符的 Unicode 值 |
concat() | 连接两个或多个字符串,返回连接后的字符串 |
fromCharCode() | 将 Unicode 转换为字符串 |
indexOf() | 返回字符串中检索指定字符第一次出现的位置 |
lastIndexOf() | 返回字符串中检索指定字符最后一次出现的位置 |
localeCompare() | 用本地特定的顺序来比较两个字符串 |
match() | 找到一个或多个正则表达式的匹配 |
replace() | 替换与正则表达式匹配的子串 |
search() | 检索与正则表达式相匹配的值 |
slice() | 提取字符串的片断,并在新的字符串中返回被提取的部分 |
split() | 把字符串分割为子字符串数组 |
substr() | 从起始索引号提取字符串中指定数目的字符 |
substring() | 提取字符串中两个指定的索引号之间的字符 |
toLocaleLowerCase() | 根据主机的语言环境把字符串转换为小写 |
toLocaleUpperCase() | 根据主机的语言环境把字符串转换为大写 |
toLowerCase() | 把字符串转换为小写 |
toString() | 返回字符串对象值 |
toUpperCase() | 把字符串转换为大写 |
trim() | 移除字符串首尾空白 |
valueOf() | 返回某个字符串对象的原始值 |
2. 数组
- 数组由方括号构成,其中包含用逗号分隔的元素列表。
- 可以将任何类型的元素存储在数组中 - 字符串,数字,对象,变量,数组。
2.1 访问和修改数组元素
let sequence = ['a', 'abc', '12', 123, [0, 1, 2]];
// 访问数组
sequence[4] //Array(3) [ 0, 1, 2 ]
// 数组中包含数组的话称之为多维数组。 可以通过将两组方括号链接在一起来访问数组内的另一个数组。
sequence[4][2] //2
//修改数组
sequence[0]='new_a';
sequence[0] //"new_a"
// 获取数组长度
sequence.length; //5
2.2 数组方法
2.2.1 字符串和数组之间的转换
- 将字符串转换为数组
let myData = 'aaa,bbb,ccc,ddd,111,222';
let myArray = myData.split(',');
myArray; //Array(6) [ "aaa", "bbb", "ccc", "ddd", "111", "222" ]
myArray.length; //6
- 将数组转换为字符串
方法一:
myNewString = myArray.join(','); //"aaa,bbb,ccc,ddd,111,222"
方法二:
myNewString1 = myArray.toString(); //"aaa,bbb,ccc,ddd,111,222"
2.2.2 添加和删除数组项
//push()添加一个或多个要添加到数组末尾的元素,
myArray.push('ddd'); //7
myArray //Array(7) [ "aaa", "bbb", "ccc", "ddd", "111", "222", "ddd" ]
myArray.push('eee', 'fff'); //9
//pop() 从数组中删除最后一个元素
myArray.pop(); //"fff"
myArray //Array(8) [ "aaa", "bbb", "ccc", "ddd", "111", "222", "ddd", "eee" ]
//unshift()添加一个或多个要添加到数组开始的元素
myArray.unshift('FirstChart');
myArray; //Array(9) [ "FirstChart", "aaa", "bbb", "ccc", "ddd", "111", "222", "ddd", "eee" ]
//shift()从数组中删除起始一个元素
myArray.shift();
myArray; //Array(8) [ "aaa", "bbb", "ccc", "ddd", "111", "222", "ddd", "eee" ]