js容易遗漏但非常重要的点

阻止事件冒泡

  • 首先在函数里面需要添加事件对象e
  • e.stopPropagation() --阻止冒泡事件
  • e.preventDefault() --阻止链接的跳转,表单域跳转

事件解绑

  1. leve0 情况 :btn.onclick()=null
  2. leve2 情况 :btn.removeEvenListener('事件名',函数名)
不用mouseover的原因:此事件有冒泡效果,mouseenter没有冒泡效果

事件委托

将事件绑定在父级上,点击子级会冒泡到父级执行时间

js 复制代码
if(e.target.tarName==="大写开头标签元素"){
    e.target.style=---
}
 

scroll滚动

  • scrollTop和scrollLeft这两个值是可读写的
  • scrollTo()可以把内容滚动到指定的坐标
    • 元素.scrollTo(x,y)

获取html标签

document.documentElement

获取页面尺寸

获取页面位置

注意

可以使用getBoundingClientRect()函数计算div盒子离html的边距,且不受父级盒子的影响。

时间戳

  • getTime()
  • +new Date() --常用
  • Date.new() --只能返回当前时间的时间戳

查找兄弟节点

增加节点

克隆节点

移动端触屏事件

location 对象

  1. location的数据类型是对象,它拆分并保存了URL地址的各个组成部分
  2. 可以利用js形式跳转页面:location.hef="http://---"
  1. 该对象记录了浏览器自身的相关信息
  2. 通过userAgent检测浏览器的版本及平台

histroy 对象

存储

  1. localstorage只能存储简单数据类型
  2. 复杂数据类型用JSON.stringify()进行转换,他会将对象转换为字符串,利用JSON.parse()转换为对象
  3. 用上面方法转换后,取出来需要用JSON.pase进行转换为对象

函数变量提升

js中函数也有变量提升,只提升函数声明,不提升函数赋值(函数表达式)

构造函数

内置构造函数

  • object
    • 实例对象没有静态方法,如Object.keys,Object.values,Object.assign,构造函数才有
  • Array
    • Array.from() 伪数组转换为真数组

reduce(function(prev,current)=>{},初始值(若从对象里面取值累加需设置为0))

String

  • subString

增加一点:关于this

  • 在构造函数中,this指向构造的实例对象,若有多个实例对象,则指向最后一个
  • 原型对象里面的this指向的还是引用他的实例对象

constructor属性

  • 每个原型对象里面都有个constructor属性(constructor构造函数)
    • 作用:该属性指向该原型对象的构造函数(原型对象是向里寻找的,构造函数是爸爸)
  • 如下图非常重要

拷贝

浅拷贝是拷贝对象,但如果浅拷贝的内容里面包含了引用数据类型则会拷贝地址

深拷贝

相关推荐
灵感__idea4 小时前
Hello 算法:贪心的世界
前端·javascript·算法
GreenTea5 小时前
一文搞懂Harness Engineering与Meta-Harness
前端·人工智能·后端
killerbasd6 小时前
牧苏苏传 我不装了 4/7
前端·javascript·vue.js
吴声子夜歌7 小时前
ES6——二进制数组详解
前端·ecmascript·es6
码事漫谈7 小时前
手把手带你部署本地模型,让你Token自由(小白专属)
前端·后端
ZC跨境爬虫7 小时前
【爬虫实战对比】Requests vs Scrapy 笔趣阁小说爬虫,从单线程到高效并发的全方位升级
前端·爬虫·scrapy·html
爱上好庆祝7 小时前
svg图片
前端·css·学习·html·css3
王夏奇8 小时前
python中的__all__ 具体用法
java·前端·python
大家的林语冰8 小时前
《前端周刊》尤大开源 Vite+ 全家桶,前端工业革命启动;尤大爆料 Void 云服务新产品,Vite 进军全栈开发;ECMA 源码映射规范......
前端·javascript·vue.js
jiayong239 小时前
第 8 课:开始引入组合式函数
前端·javascript·学习