<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
</body>
<script>
// Object.assign({},this.user)
//可以对对象进行复制
//数组的去重和排序
//在数组的原型上添加一个方法mySort
Array.prototype.mySort = function () {
//this就是对应的数组
return Array.from(new Set(this)).sort((x, y) => {
return x - y
})
}
// const arr = new Array();
const arr = [21,23,23,3344,23,23,3,3,4,4]
const s = new Set(arr);
console.log(s); //Set(5) {21, 23, 3344, 3, 4}
console.log(Array.from(s)); // [21, 23, 3344, 3, 4]
// ----------------------------------------------------------------------
//如何判断数组的数据类型
// const arr = [1,2,3,4]
// console.log(Array.isArray(arr))
const obj = {}
// console.log(obj.toString())
// Object.prototype.toString()
const arr = [1, 2, 3]
console.log(arr.toString())
console.log(Object.prototype.toString.call(arr))
console.log(Object.prototype.toString.call(1))
console.log(Object.prototype.toString.call('字符串'))
console.log(Object.prototype.toString.call(true))
console.log(Object.prototype.toString.call(null))
//判断是否为数组的函数
function isArray (arr) {
/* if (Array.isArray) {
return Array.isArray(arr)
} else {
return Object.prototype.toString.call(arr) === '[object Array]'
} */
return Array.isArray ? Array.isArray(arr) : Object.prototype.toString.call(arr) === '[object Array]'
}
// ------------------------------------------------------------------------
// 类数组对象转数组
const obj = {
"0": "值1",
"1": "值2",
"2": "值3",
length: 3
}
console.log(Array.from(obj))
console.log(Array.prototype.slice.call(obj))
const arr = []
for (var i = 0;i<obj.length; i++) {
arr.push(obj[i])
}
console.log(arr)
/*
基本数据类型
String Number Boolean Undefined Null Object Symbol
*/
// ------------------------------------------------------------------------
// 事件委托
// 利用冒泡来实现的一种事件绑定方式
// 事件委托可以给动态生成的元素上添加对应的数据,节省内存
// 父/祖先.onclick = function (e) {
// var e = e || window.event
// var target = e.target || e.srcElement
// if (target.相关属性 === 相关值) {
// }
// }
// $('父/祖先').on('事件类型', '实际元素选择器', function () {
// })
</script>
</html>