1.简述 for in 循环的特点及使用场景?2.请说说事件委托机制?这样做有什么好处?3.事件绑定和普通事件有什么区别4.说说你对 this 的理解?5.说一下浏览器同源策略是什么,跨域问题

一、简述 for in 循环的特点及使用场景?
for...in 语句用于对数组或者对象的属性进行循环操作。
for ... in 循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。
使用 for in 会遍历数组所有的可枚举属性,包括原型,如果不想遍历原型方法和属性的话,可以在循环内部判断一下,使用 hasOwnProperty () 方法可以判断某属性是不是该对象的实例属性

二.请说说事件委托机制?这样做有什么好处?
事件委托原理:不再直接给子元素绑定事件,而委托父元素来绑定事件, 利用事件冒泡机制,使得子元素也绑定了和父元素同名事件。

优点: 1.可以大量节省内存占用,减少事件注册。比如ul上代理所有li的click事件就很不错。 2.可以实现当新增子对象时,无需再对其进行事件绑定,对于动态内容部分尤为合适


三.事件绑定和普通事件有什么区别
事件绑定是指把事件注册到具体的 DOM 元素之上,普通事件指的是可以用来注册的事件

事件绑定例子:DOM 元素.addEventListener( 事件类型,事件处理函数)

普通事件例子:DOM 元素.事件类型 = function(){事件处理函数}

对于事件绑定来说,同一个 DOM 元素上面绑定同样的事件类型时,可以绑定多个事 件处理函数,实际解决了多人开发情况下造成的时间处理覆盖的情况(污染),而如果使 用普通事件来解决这个问题的时候会造成后写的代码将前写的代码进行了重写操作,造成 环境污染

实际开发的时候可以视情况而定,来选择绑定事件的方式。


四.说说你对 this 的理解?
答、this 是一个关键字,它代表函数运行时,自动生成的一个内部对象,只能在函数 内部使用
1.作为纯粹的函数调用 this 指向全局对象
2.作为对象的方法调用 this 指向调用对象
3.作为构造函数被调用 this 指向新的对象(new 会改变 this 的指向)
4.apply 调用 this 指向 apply 方法的第一个参数

五.说一下浏览器同源策略是什么,跨域问题出现的原因,以及如何处理跨域问题

同源策略就是浏览器的一个安全限制,它阻止了不同【域】之间进行的数据交互。

为什么会产生跨域问题

浏览器限制,目前所有浏览器都实现了同源策略规范。

  1. 协议不同

  2. 域名不同

  3. 端口不同

跨域

1,jsonp的原理就是利用<script>标签没有跨域限制通过<script>标签src属性,发送带有callback参数的GET请求服务端将接口返回数据拼凑到callback函数中,返回给浏览器浏览器解析执行,从而前端拿到callback函数返回的数据.

2、跨域资源共享 (CORS) CORS是一个W3C标准,全称是"跨域资源共享”(Cross-origin resourcesharing,它允许浏览器向跨源服务器,发出XMLHttpReguest请求,从而克服了AJAX只能同源使用的限制。 CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于E10。浏览器将CORS跨域请求分为简单请求和非简单请求.

3.vue框架的跨域 4.lvue框架的跨域

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值