解构赋值
ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构
数组解构: 将数组中的值一一对应的方式取出赋值给变量
数组解构语法: let [变量1, 变量2, 变量3] = 数组;
<script>
let [name1, name2, name3] = ['a', 'b', 'c'];
console.log(name1, name2, name3);
</script>
对象解构: 将对象中的属性或方法取出赋值给变量
语法
1: let {属性名:变量名1, 属性名:变量名2 ...} = 对象
2: let {属性名,属性名} = 对象
<script>
let persone = {uname: 'zs', uage: 23}
let {uname: n1, uage: n2} = persone;
let {uname, uage} = persone;
</script>
什么是面向对象
面向对象属于一种编程思想,在解决问题的时候都先要找对象,通过操作对象的方式实现最后的结果
对象的基本组成:
1. 属性
2. 方法
创建对象的方式
1.通过内置构造函数创建
let 自定义对象名 = new Object();
自定义对象.属性 = 值;
自定义对象.方法 = function() {}
2.通过自定义构造函数创建对象
function 函数名(参数1, 参数2) {
this.属性 = 参数1;
this.属性 = 参数2;
this.方法 = function(){}
}
实例成员
在构造函数内部,通过this关键字设置的属性或方法,称为实例成员
实例:通过构造函数创建的对象称为实例
实例成员必须通过实例对象访问
function Person(uname) {
this.uname = uname;
this.eat = function() {}
}
let zs = new Perseon('张三');
zs.uname;
zs.eat();
静态成员
静态成员: 通过构造函数设置的属性或方法称为静态成员
静态成员只能通过构造函数名点的方式访问
function Person(uname) {
this.uname = uname;
}
Person.age = 123;
Person.eat = function(){}
内置对象
数组内置对象: Array()
Array中的实例方法
reverse() 翻转数组
indexOf() 检索数组中的值
lastIndexOf() 检索数组中的值
splice()删除或其他数组中的值
concat()合并两个数组的值
join() 将数组中的值拼接为字符串
forEach(function(item, index){}) 遍历数组
filter(function(item, index){}) 过滤筛选数组,返回一个新数组
map(function(item, index){})迭代原数组,生成新数组
包装类型
String构造函数
属性 : length属性
方法:
split()分割字符串
toUpperCase()转大写
toLowerCase()转小写
substring(indexStart, indexEnd)截取字符串
substr(start[,length])截取字符串
startsWith() 检测是否以某个字母开始
endsWith()检测是否以某个字母结束
replace('被替换的字符', '替换后的字符')替换
indexOf()根据下标查找元素,找不到则返回-1
padStart(位数, '值'), 是否够几位数,如果不够在前面添加对应的内容
padEnd('位数', '值'),是否够几位数,如果不够在后面添加对应的内容
Number构造函数
方法: toFixed()保留几位小数
Boolean构造函数
包装类型: 一个简单类型可以通过js内部的构造函数包装成一个对象