牛客JS错题知识点记录

加号+的定义

对于“+”来说,有两个含义:第一个含义是做字符串拼接,第二个含义是加减法中的加法。
1,如果操作数里有一个是字符串,其他的值将被转换成字符串;
2,其他情况,操作数转换成数字执行加法运算。
而对于“ - ”来说,只有一个含义,就是做减法,自然不会转化成字符串了。

web页面生命周期

一般浏览器的加载顺序如下:

  • script executed
  • readyState : interactive
  • DOMContentLoaded
  • image onload
  • iframe onload
  • readyState : complete
  • window onload

总结:

  • 同步的JavaScript脚本最先执行,它先于DOMContentLoaded事件执行。

  • 当DOM准备就绪时,DOMContentLoaded事件在document上触发。可以在这个阶段利用JavaScript来操作DOM元素。

     所有脚本都执行完毕,除了那些外部使用异步(async)或延迟(defer)加载的脚本
     图片和其他资源可能仍在载入过程中。
    
  • window上的onload事件,在页面加载完所有资源后触发。 大多数的操作我们都应该放在DOMContentLoaded事件中执行,而不要放在window.onload中执行,因为通常的操作不用等到最后才执行。

  • window上的beforeunload事件,该事件在用户准备离开页面,在unload事件之前触发。如果beforeunload返回一个字符串,浏览器会给出用户是否真的想离开的提示。

  • window上的unload事件,当用户最终离开时会触发该事件。在unload的事件处理程序中,我们只能做简单的事情,不涉及延迟或询问用户。由于这个限制,它很少使用。

  • document.readyState表示文档的当前状态,可以在readystatechange事件中跟踪文档状态的变更。

     loading – 文档正在载入。
     interactive – document已经解析完毕时触发,几乎与DOMContentLoaded同时发生,但在DOMContentLoaded事件之前触发。
     complete – 文档和资源加载完成时触发,几乎与window.onload同时发生,但在onload事件之前触发。
    

导致回流发生的因素

  1. 调整窗口大小,浏览器窗口尺寸改变——resize事件发生时
  2. 元素尺寸改变——边距、填充、边框、宽度和高度;改变字体大小
  3. 页面渲染初始化
  4. 元素位置改变
  5. 样式表变动
  6. 元素内容变化,尤其是输入控件
  7. CSS伪类激活
  8. DOM操作,添加或者删除可见的DOM元素
  9. offsetWidth, width, clientWidth, scrollTop/scrollHeight的计算,
    会使浏览器将渐进回流队列Flush,立即执行回流。
  10. 内容改变——比如文本改变或者图片大小改变而引起的计算值宽度和高度改变
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值