当前位置: 首页 > news >正文

品牌网站建设seo推广官网

品牌网站建设,seo推广官网,长兴县建设管理网站,哪家卖的wordpress主题好1.js 延迟加载的方式有哪些? 2.js同步和异步的区别? 3.什么是浏览器的同源政策? 4.介绍一下 js 的节流与防抖? 5.js 中的深浅拷贝实现? 6.Js 动画与 CSS 动画区别及相应实现 7.观察者模式和发布订阅模式有什么不同…

 1.js 延迟加载的方式有哪些?

 2.js同步和异步的区别?

3.什么是浏览器的同源政策?

4.介绍一下 js 的节流与防抖?

5.js 中的深浅拷贝实现?

6.Js 动画与 CSS 动画区别及相应实现

7.观察者模式和发布订阅模式有什么不同?

8.js 中的命名规则

9.JavaScript怎么清空数组?

10.微任务和宏任务


1.js 延迟加载的方式有哪些?

一般有以下几种方式:

  • defer 属性
  • async 属性
  • 动态创建 DOM 方式
  • 使用 setTimeout 延迟方法
  • 让 JS 最后加载
 2.js同步和异步的区别?

同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是处于阻塞的,只有接收到返回的值或消息后才往下执行其他的命令。  

异步,执行完函数或方法后,不必阻塞性地等待返回值或消息,只需要向系统委托一个异步过程,那么当系统接收到返回值或消息时,系统会自动触发委托的异步过程,从而完成一个完整的流程。 

3.什么是浏览器的同源政策?

我对浏览器的同源政策的理解是,一个域下的 js 脚本在未经允许的情况下,不能够访问另一个域的内容。这里的同源的指的是两个
域的协议、域名、端口号必须相同,否则则不属于同一个域。

同源政策主要限制了三个方面

第一个是当前域下的 js 脚本不能够访问其他域下的 cookie、localStorage 和 indexDB。

第二个是当前域下的 js 脚本不能够操作访问操作其他域下的 DOM。

第三个是当前域下 ajax 无法发送跨域请求。

同源政策的目的主要是为了保证用户的信息安全,它只是对 js 脚本的一种限制,并不是对浏览器的限制,对于一般的 img、或者
script 脚本请求都不会有跨域的限制,这是因为这些操作都不会通过响应结果来进行可能出现安全问题的操作。

4.介绍一下 js 的节流与防抖?

函数防抖: 在事件被触发 n 秒后再执行回调,如果在这 n 秒内事件又被触发,则重新计时。

函数节流: 规定一个单位时间,在这个单位时间内,只能有一次触发事件的回调函数执行,如果在同一个单位时间内某事件被触发多次,只有一次能生效。

5.js 中的深浅拷贝实现?

浅拷贝指的是将一个对象的属性值复制到另一个对象,如果有的属性的值为引用类型的话,那么会将这个引用的地址复制给对象,因此两个对象会有同一个引用类型的引用。浅拷贝可以使用  Object.assign 和展开运算符来实现。

深拷贝相对浅拷贝而言,如果遇到属性值为引用类型的时候,它新建一个引用类型并将对应的值复制给它,因此对象获得的一个新的引用类型而不是一个原有类型的引用。深拷贝对于一些对象可以使用 JSON 的两个函数来实现,但是由于 JSON 的对象格式比 js 的对象格式更加严格,所以如果属性值里边出现函数或者 Symbol 类型的值时,会转换失败。

6.Js 动画与 CSS 动画区别及相应实现

 CSS3 的动画的优点

在性能上会稍微好一些,浏览器会对 CSS3 的动画做一些优化
代码相对简单

缺点

在动画控制上不够灵活
兼容性不好

JavaScript 的动画正好弥补了这两个缺点,控制能力很强,可以单帧的控制、变换,同时写得好完全可以兼容 IE6,并且功能强大。对于一些复杂控制的动画,使用 javascript 会比较靠谱。而在实现一些小的交互动效的时候,就多考虑考虑 CSS 吧

7.观察者模式和发布订阅模式有什么不同?

发布订阅模式其实属于广义上的观察者模式

在观察者模式中,观察者需要直接订阅目标事件。在目标发出内容改变的事件后,直接接收事件并作出响应。

而在发布订阅模式中,发布者和订阅者之间多了一个调度中心。调度中心一方面从发布者接收事件,另一方面向订阅者发布事件,订阅者需要在调度中心中订阅事件。通过调度中心实现了发布者和订阅者关系的解耦。使用发布订阅者模式更利于我们代码的可维护性。

8.js 中的命名规则

(1)第一个字符必须是字母、下划线(_)或美元符号($)
(2)余下的字符可以是下划线、美元符号或任何字母或数字字符

一般我们推荐使用驼峰法来对变量名进行命名,因为这样可以与 ECMAScript 内置的函数和对象命名格式保持一致。

9.JavaScript怎么清空数组?

方法1

arrayList = [];

直接改变arrayList所指向的对象,原对象并不改变。

方法2

arrayList.length = 0;

这种方法通过设置length=0 使原数组清除元素。

方法3

arrayList.splice(0, arrayList.length);

10.微任务和宏任务

事件循环是一个宏观的表述,其实异步任务之间并不完全相同,其执行时机有所区别。细分来说的话异步任务分为两种:microtask 与 macrotask

宏任务macrotask 主要有:script(整体代码)、setTimeout、setInterval、I/O、UI交互事件、postMessage、MessageChannel、setImmediate(Node.js 环境)

微任务microtask 主要有:process.nextTick,Promises【new Promise().then(回调)】,MutationObserver(html5 新特性)

http://www.hengruixuexiao.com/news/34723.html

相关文章:

  • 多个织梦dedecms网站怎么做站群优化大师apk
  • 公司网站后台操作成都网站建设企业
  • 佛山网站建设原创大连最好的做网站的公司
  • 投资公司投资项目流程seo建站工具
  • 如皋网站设计百度公司官网招聘
  • 佛山建网站哪里好泰安seo推广
  • 十大网页设计网站西安网站建设优化
  • 批量网站访问检测网站优化外包推荐
  • 特乐网站建设推广普通话图片
  • 做金融网站看那些素材谷歌paypal官网下载
  • 用dw做网站怎么给链接seo关键词优化价格
  • 怎样在网站上做办公家具市场推广方式有哪几种
  • 企业直招平台西安百度推广优化
  • 个人网站教程重庆森林粤语
  • 网站建设基本流程详细说明网页制作软件
  • 建建建设网站公司电话深圳seo推广公司
  • 阜宁网站制作服务网络营销毕业论文范文
  • 北京做兼职哪个网站域名查询seo
  • wordpress 前台加载慢吉林刷关键词排名优化软件
  • 兰州网站开发企业北京推广优化公司
  • 销售型网站怎么做的怎么推广一个app
  • 阿里巴巴网站费用怎么做分录如何用网站模板建站
  • 网站开发需要提供哪些东西企业培训视频
  • 公司网站制作机构个人购买链接
  • 在自己的网站上做查分系统看片应该搜什么关键词哪些词
  • 哪些网站做免费送东西的广告6seo是什么学校
  • 在香港做网站需要什么chrome google
  • 兼职做网站的软件北京网站优化
  • 石家庄房产网官网seo关键词优化哪个平台好
  • 网站界面设计总结设计公司排名前十强