js判断变量为数组你能写出哪些方法?js有哪些创建对象的方式?
instanceof
constructor
创建对象的方式:
- {} | new Object()
- 构造函数new
- object.create()
如何判断图片加载完成?
complete属性
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<img src="传奇集市.jpg" alt="" id="img" />
</body>
<script>
var img = document.getElementById("img");
var timer = setInterval(function () {
if (img.complete) {
clearInterval(timer);
alert("加载完毕");
}
}, 1000);
</script>
</html>
请解释下什么是事件委托?
//代码示例
uls.onclick=function(e){
var e =window.event ||e ;
var tar =e.target|| e.srcElement;
if(tar.nodeName=="Li"){
tar.style.background='red'
}
}
本身是给li加事件,现在委托ul,场景有购物车,其好处有:即使后添加进来的元素,执行点击事件也仍然有效;
说出几种javascript继承方式
构造函数,寄生式继承,原型链,组合式继承
//原型链
function a(){
this.a='aaaa'
}
function b(){
this.b='bbbb'
}
b.prototype = new a();
var obj= new b();
console.log(obj.a);
//构造函数
function a(){
this.a='aaaa'
}
function b(){
a.call(this);
this.b='bbbb'
}
var obj= new b();
console.log(obj.a);