js中的一些问题(3)

  1. 事件绑定和普通事件有什么区别
普通添加事件的方法:

var btn = document.getElementById("hello");
btn.onclick = function(){
	alert(1);
}
btn.onclick = function(){
	alert(2);
}
执行上面的代码只会alert 2 

事件绑定方式添加事件:

var btn = document.getElementById("hello");
btn.addEventListener("click",function(){
	alert(1);
},false);
btn.addEventListener("click",function(){
	alert(2);
},false);
执行上面的代码会先alert 1 再 alert 2

小结:普通事件中的onclick是DOM0级事件只支持单个事件,会被其他onclick事件覆盖,而事件绑定中的addEventListener是DOM2级事件可以添加多个事件而不用担心被覆盖
  1. 如何阻止事件冒泡和事件默认行为
阻止冒泡:stopPropagation()
		
阻止默认:preventDefault()
		
  1. window.onload 和document ready的区别

     	$(document).ready:是DOM结构绘制完毕后就执行,不必等到加载完毕。 
     	意思就是DOM树加载完毕,就执行,不必等到页面中图片或其他外部文件都加载完毕。
     	并且可以写多个.ready。
     	window.onload:是页面所有元素都加载完毕,包括图片等所有元素。只能执行一次。
    
  2. = = 和===的不同
    = =是判断值是否相等,= = =是判断值及类型是否完全相等。

  3. JavaScript是一门什么样的语言,它有哪些特点?

    一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型
    
    特点:1.简单性   2.动态性   3.跨平台性   4.安全性
    
  4. JavaScript的数据类型都有什么?

		1. 字符串类型 (string)
		2. 数值类型   (Number)
		3. 对象类型	 (object)
		4. 布尔类型   (boolean)
		5. 空类型     (null)
		6. 未定义类型 (undefined)
  1. 谈谈对this的理解

     this表示当前对象,而它的指向是根据上下文来决定的,默认指向window对象
     在这把它分为两类:
     全局和局部
     在全局中指向的对象只有window对象
     在局部中,对象调用指向对象,构造函数中指向实例化对象
    
  2. js继承方式及其优缺点

     1.原型链继承
     		优点:简单,易于实现。
     		缺点: 创建子类实例时,无法向父类构造函数传参
     2.构造函数继承
     		优点:
     			解决了子类实例共享父类引用属性的问题;
     			创建子类实例时,可以向父类构造函数传参;
     			可以实现多继承(call多个父类对象);
     		缺点:
     			只能继承父类的实例属性和方法,不能继承父类原型属性和方法
     			使用多后占用内存过大
     3.组合继承
     		优点:
     			函数可复用;
     			可以继承实例属性/方法,也可以继承原型属性/方法;
     			既是子类的实例,也是父类的实例;
     			不存在引用属性共享问题;
     		缺点:内存浪费
    
  3. 同步和异步的区别?

     同步,是所有的操作都做完,才返回给用户结果。即写完数据库之后,在相应用户,用户体验不好。
    
     异步,不用等所有操作等做完,就相应用户请求。即先相应用户请求,然后慢慢去写数据库,用户体验较好。 
    
  4. 箭头函数

(a,b,c)==>{x}    型如这样的函数就是箭头函数
同等与:
function(a,b,c){
		x;
}

注意:

箭头函数与普通函数并不完全相等, 箭头函数并没有自己的this关键字,对于普通函数的this指创建的对象, 直接调用的普通函数this代表window

箭头函数的this指的是上下文, 也就是包含箭头函数的外层函数, 如果箭头函数定义在全局范围内this指window本身

箭头函数不允许在形参列表和箭头之间换行,否则报语法错误

箭头函数与其他运算符在一起时, 可能由于解析顺序导致错误, 因而与其他运算符在一起时应该把箭头函数整体放在圆括号里

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值