ES6
# Js
面向对象
# 创建对象
# 字面量
let obj = {
name:'yuadh',
move:function(){
//...
}
}
1
2
3
4
5
6
2
3
4
5
6
访问对象属性
obj.name
obj['name']
便利对象属性方法
for(let key in obj){
console.log(obj[key])//动态的,使用obj.key会去找其属性
}
1
2
3
2
3
# 构造函数
let obj = new Object();
obj.name = 'yuadh'
obj.move = function(){
//...
}
//or
let obj = new Object
1
2
3
4
5
6
7
2
3
4
5
6
7
自定义构造函数
funtion Object(name,move){
this.name = name
this.move = move
}
let obj = new Object('yuadh',function(){
//...
})
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 静态成员和实例成员
funtion Object(name,move){
//实例成员
this.name = name
this.move = move
}
Object.mode = 1;
Object.fly = function (){}
let obj = new Object('yuadh',function(){})
console.log(obj.name)//实例成员可以通过实例化对象访问
console.log(Object.mode)//静态成员可以通过类访问
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
有点像 java
?
# instanceof
用于判断一个对象是否是另外一个构造函数的实力对象
obj instanceof Object
# constructor
返回构造函数本身
consolo.log(obj.constructor)//Object
1
# 类型
数据类型(值传递)简单数据类型
引用类型(地址传递)复杂数据类型
# 内置构造对象
# Object
Object.assign
静态方法创建新的对象Object.keys
静态方法获取对象中所有属性Object.values
获取对象中所有属性值 返回值是数组形式
# Array
concat
() 拼接新数组let arr = [1,2,3] let arr1 = ['a','b','c'] let newArr = arr.concat(arr1,'+1')
1
2
3join()
将数组元素转为字符串let arr = ['a', 'b', 'c'] let newStr = arr.join('分隔符') console.log(newStr)//
1
2
3reverse()
反转数组indexOf()
查询元素位置lastIndexOf()
从数组末端开始查找元素位置sort
排序正序排序
let arr = [3,7,2,4,1] let re = arr.sort(function(a,b){return a-b})
1
2倒序排序
let arr = [3,7,2,4,1] let re = arr.sort(function(a,b){return b-a})
1
2Array.isArray()
判断一个值是否是数组console.log(Array.isArray(arr))
Array.from(伪数组)
把伪数组转换伪真数组
let o = {0:'y',1:'z'}
let ary = Array.from(0)
1
2
2
伪数组
let lis = document.querySelectorAll('li')
//or
fn(arguments){}
1
2
3
2
3
forEach()
便利数组arr.forEach(item=>{ consolo.log(item) })
1
2
3
# RegExp()
正则表达式构造函数
let reg = new RegExp(/abc/)
编辑 (opens new window)
上次更新: 2023/02/07, 14:51:48