
手写源码
Williamszwk
这个作者很懒,什么都没留下…
展开
-
实现const功能
在ES5下实现const关键在于object.defineProperty()这个API。可以接受三个参数,object.defineProperty(obj,prop,desc);obj:在其上面定义属性的对象prop:要定义和修改的属性desc:将被定义或修改的属性描述符,其中有 value 该属性对应的值,默认undefined get 提供getter方法 ...原创 2020-04-08 22:11:10 · 1183 阅读 · 1 评论 -
手写防抖和节流代码
防抖-debounce:当一段时间内持续触发事件,只会执行最后一次。在延迟时间内,被触发,将刷新延迟时间。const debounce = function(fn, delay){ let timer = null; return function()=> { let context = this; let args = arguments;...原创 2020-04-08 22:08:59 · 731 阅读 · 0 评论 -
apply,call,bind实现原理
apply:方法能劫持另外一个对象的方法,继承另外一个对象的属性.Function.apply(obj,args)方法能接收两个参数obj:这个对象将代替Function类里this对象args:这个是数组,它将作为参数传给Function(args–>arguments)Function.prototype.apply = function(thisArg=window ){ ...原创 2020-04-08 22:08:15 · 156 阅读 · 0 评论 -
apply,call,bind实现原理
apply:方法能劫持另外一个对象的方法,继承另外一个对象的属性.Function.apply(obj,args)方法能接收两个参数obj:这个对象将代替Function类里this对象args:这个是数组,它将作为参数传给Function(args–>arguments)Function.prototype.apply = function(thisArg=window ){ ...原创 2020-04-04 19:54:07 · 171 阅读 · 0 评论 -
防抖和节流代码
防抖-debounce:当一段时间内持续触发事件,只会执行最后一次。在延迟时间内,被触发,将刷新延迟时间。const debounce = function(fn, delay){ let timer = null; return (...args)=> { clearTimeout(timer); //在此触发时,会清除上次的事件。 tim...原创 2020-04-04 16:08:34 · 2127 阅读 · 0 评论 -
封装ajax(纯JS)
实例化XMLHttpRequest对象连接服务器发送请求function ajax(options){ let method = options.menthod || 'GET',//默认是GET请求 data = options.data, params = options.params, url = options.url + ...原创 2020-04-04 15:26:10 · 158 阅读 · 0 评论