前端js笔记

1、所有对象都有原型

不是,用Object.create(null)创建的对象没有原型

2、阻止冒泡事件与阻止默认事件

e.preventDefault();//阻止默认事件

e.stopPropagation();//阻止事件冒泡

3、事件传播的三个阶段

捕获——目标——冒泡

4、区分mouseover,mouseenter,mouseout,mouseleave

mouseover和mouseenter都是鼠标移到元素身上就触发,区别是

1、mouseover,mouseout经过自身盒子触发,经过子盒子也触发,拥有冒泡特性

2、mouseenter,mouseleave只经过自身盒子触发,没有冒泡特性

5、DOM节的获取及操作

6、重绘和重排

改变元素几何信息(大小和位置),都会引起重排(骨架,margin,font-size根标签)

改变外观上的属性和方法会引起重绘(bgc)

DOM发生改变的时候触发重排,使DOM重新排列,重绘不一定会重排,但是重排一定发生重绘,重绘和重排都会耗费浏览器的性能,尽量避免

7、网页如何生成

  1. 解析html绘制DOM树
  2. 解析css绘制CSS树
  3. 生成render tree(渲染树)
  4. flow排列,将渲染树节点合成(渲染)
  5. paint绘制,将排列绘制在屏幕上(渲染)

8、BOM定时器

1.setTimeout()

var timerId = setTimeout(func|code, delay);

//func|code函数或代码在delay毫秒后执行

//除了前两个参数,setTimeout还允许更多的参数。它们将依次传入推迟执行的函数(回调函数)。

setTimeout(function (a,b) {

    console.log(a + b);

}, 1000, 1, 1);


//清除定时器

clearInterval(timerId);



//防抖动,一个需要频繁触发的函数,在规定时间内,只让最后一次生效,
//前面的不生效
function debounce(fn,delay){
//记录上一次的延时器
var timer = null;
return function(){
//清除上一次延时器
clearTimeout(timer);
//重新设置新的延时器
timer = setTimeout(function(){
fn.apply(this);
},delay);
}
}

2. setInterval()

var i = 1
var timer = setInterval(function() {
  console.log(2);
}, 1000)
//用法和setTimeout()一样,不过是每隔1秒就执行一次function
//清除定时器
clearInterval(timer );

------------------------------------未完------------------------------------

JSON.parse()

操作数组的各个方法sort、split、join、等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值