JS进阶
数组
数组可以存放任意类型的元素
let arr = ['小胖',12,true,28.9];
console.log(arr, arr.length);
- 增
arr[4] = 'newValue';
- 改
arr[4] = 'changedValue';
- 删
不会改变数组的长度, 使用undefined赋值
delete arr[4];
- 查
console.log(arr[4]); // undefined
- 多维数组
var arr = [1, 2, ['xiaopang', '小胖']];
console.log(arr[2][1]);
函数
// 声明函数
function 函数名(x, y) {
//函数体代码
return z;
}
// 调用函数
函数名(x, y);
类与对象
- 类的定义
class Person {
}
var p = new Person();
console.log(typeof p); // object
- 构造函数
constructor()
方法用于传递参数, 返回实例对象.
通过new
命令生成对象时自动调用, 若没有, 会自动创建
class Person {
constructor(uname, age) {
this.uname = uname;
this.age = age;
}
}
var stu = new Student('xiaoming', 20);
- 类的方法
class Person {
constructor(uname, age) {
this.uname = uname;
this.age = age;
}
p_sing() {
console.log('唱')
}
}
var kun = new Person('kunkun', 20);
kun.p_sing();
内置对象
- Math对象
方法名 | 功能 |
---|---|
Math.floor() | 向下取整 |
Math.max()/Math.min() | 求最大和最小值 |
Math.random() | 获取范围在[0,1)内的随机值 |
- Date对象
方法名 | 功能 |
---|---|
getFullYear() | 获取年份 |
getMonth() | 获取月份(0~11) |
getDate() | 获取日期(1~31) |
getDay() | 获取星期(0~6) |
getHours() | 获取小时 |
getMinutes() | 获取分钟 |
getSeconds() | 获取秒 |
- 字符串对象
方法名 | 功能 |
---|---|
chatAt() | 返回在指定位置的字符 |
charCodeAt() | 返回在指定位置字符的unicode编码(ASCII编码) |
concat() | 连接字符串 |
indexOf() | 从字符串的开头向后搜索字符串 |
lastIndexOf() | 从字符串的末尾向前搜索字符串 |
match() | 找到一个或多个正则表达式的匹配 |
replace() | 替换与正则表达式匹配的字串 |
search() | 检索与正则表达式相匹配的值 |
slice() | 提取字符串的片段,并在新的字符串中返回被提取的部分 |
split() | 把字符串分割成字符串数组 |
substr() | 从起始索引号提取字符串中指定数目的字符 |
substring() | 截取字符串中两个指定的索引号之间的字符 |
toLowerCase() | 将字符串转换为小写 |
toUpperCase() | 将字符串转换为大写 |
toString() | 返回字符串本身 |
valueOf() | 返回某个对象的原始值 |
trim() | 删除前置及后缀的所有空格 |
- 数组对象
方法名 | 功能 | 返回值 |
---|---|---|
push() | 在末尾添加元素 | 新数组的长度 |
pop() | 删除最后一个元素 | 删除的元素的值 |
slice() | 截取子数组 | 新数组 |
splice() | 通常用于删除某个指定元素 | 新数组 |
- JSON对象
方法名 | 功能 | 返回值 |
---|---|---|
JSON.parse(str) | 将JSON字符串转换成JS对象 | JS对象 |
JSON.stringify(obj, null, 2) | 将 JS 对象转换为 JSON 字符串 | JSON字符串 |