js容易混淆的方法

js容易混淆的函数:
①Object.getOwnPropertyDescriptor
——读取某个对象特定属性的属性描述符(value / writable / enumerable / configurable)

这个方法接受两个参数:(属性所在对象 , 要读取其描述符的属性名称),返回值是一个对象。

②Object.defineProperty ——设置某个对象(单个)属性的特性或让新建属性具有某种特性

这个方法接受三个参数:(要修改的对象 , 要创建或修改的属性 、 属性描述符对象)。

③Object.defineProperties —— 设置某个对象(多个)属性的特性或让新建属性具有某种特性

这个方法接受两个参数:(修改的对象 , 映射表–包含所有新建或者修改属性的名称和属性描述符)。

④isPrototypeOf ——确定对象与原型之间存在的关系

⑤Object.getPrototypeOf ——方便地取得一个对象的原型
⑥hasOwnProperty ——检测一个属性是存在于实例中,还是存在于原型中

二、
splice(0,0,1) //增删原数组

slice() // 返回新数组,不改变原数组

split() // 拆分数组

三、绑定
apply(null,[1,2]) // 第二个参数,必须是数组
bind(null,1,2)() //返回一个函数,要执行必须加()
call(null,1,2) //

四、展开运算符和扩展运算符
…和…rest

五、防抖和节流
1.debounce 实现一个搜索功能,当输入框中的文字改变时,就去请求结果。
可以用第三方插件
npm i --save lodash.debounce

debounce: function(){
            let that = this
            if(timer){
                clearTimeout(timer)
            }
            timer = setTimeout(function () {
                console.log('输入')
                timer = undefined;
            },2000)
        }

2.throttle 实现节流技术,比如scroll事件
防抖和节流都可以用于 mousemove、scroll、resize、input等事件,他们的区别在于防抖只会在连续的事件周期结束时执行一次,而节流会在事件周期内按间隔时间有规律的执行多次。

 throttle: function(){
            let that = this
            let now = +new Date();
            if(lastTime && lastTime - now < 2000){
                clearTimeout(timer)
            }
            timer = setTimeout(function () {
                console.log('点击')
                lastTime = +new Date()
            },200)
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端段

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值