高级技巧

不可拓展对象:

 

preventExtensions(想要禁止拓展的对象):这个是Object的静态方法,它可以用于禁止对象的拓展,也就是一旦用了这个方法,相对应的对象就不能在添加属性。但是可以修改和删除原有属性。

 

isExtensible(测试的对象):这个是Object的静态方法,用于测试相对应的对象是否可以拓展。true是可拓展,false是不可拓展。

 

 

 

密封的对象:

 

seal(想要密封的对象):这个是Object的静态方法,它可以用于密封某个对象。可以让对象不能再添加属性和删除原有属性,但是可以修改原有属性。

 

isSealed(测试的对象):这个是Object的静态方法,用于测试相对应的对象是否被密封。被密封了返回true,否则返回false。

 

 

冻结的对象:

 

freeze(想要冻结的对象):这个是Object的静态方法,它可以用于冻结某个对象。可以让对象不能再添加属性和删除原有属性以及修改原有属性。

 

isFrozen(测试的对象):这个是Object的静态方法,用于测试相对应的对象是否被冻结。被冻结了返回true,否则返回false。

 

 

 

 

 

函数节流:

 

类似于在给浏览器监听resize事件时,如果尝试进行dom操作,可能会造成浏览器崩溃。在监听这个事件时,可以使用定时器对该函数进行节流。其基本思想是在在第一次运行函数时,创建一个定时器,在指定的时间间隔以后运行代码。当第二次运行函数时,如果前面一个定时器还存在,那就清除前一个定时器,重新创建一个定时器。目的只有在执行函数的请求停止了一段时间之后才执行。可以使用以下函数来实现:

 

function throttle(method, …args) {

if (method.tid) {

clearTimeout(method.tid);

}

method.tid = setTimeout(() => {

method(…args);

}, 100)

  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值