
原生Js
mi_cy
这个作者很懒,什么都没留下…
展开
-
JSON.parse(JSON.stringify())和深复制assign和浅复制
浅复制:1: assign 方法2:const shallowCopy = (Sobj) => { // 判断是否为对象,如果不是直接返回 if (typeof Sobj !== 'object') return // 判断接受的参数是否是Array ,如果是, 则定义的新newObj 则是数组,反之 则为对象 let newObj = Sobj ins...原创 2019-05-30 17:44:34 · 1040 阅读 · 0 评论 -
实现trim()方法
原生js-正则 实现trim()方法 function trim(string){ let reg = /^\s+|\s+$/g return string.replace(reg , "")}原创 2019-05-30 17:49:43 · 1280 阅读 · 0 评论 -
Array.prototype.slice.call(argument)
Array.prototype.slice.call(argument):将argument 参数转换为数组格式, 为函数实参的一个集合,数据类型为对象类型Array.prototype.slice.call(arguments,[,arg1[arg2]])能将具有length属性的对象转成数组,尤其用于将伪类转换成真正的数组,但是旧版本的IE下用的时候会报错因为HTMLCollectio...原创 2019-05-31 10:16:26 · 227 阅读 · 0 评论 -
手写Promise--并且分析Promise过程
/** * 1. new Promise时,需要传递一个 executor 执行器,执行器立刻执行 * 2. executor 接受两个参数,分别是 resolve 和 reject * 3. promise 只能从 pending 到 rejected, 或者从 pending 到 fulfilled * 4. promise 的状态一旦确认,就不会再改变 * 5. promise 都...原创 2019-05-23 14:52:21 · 299 阅读 · 0 评论 -
函数节流和防抖实现
HTML 代码 <div class="app"> <input type="text" id="inppp" />没有节流防抖的input <input type="text" id="debounceid" /> 防抖的input <input type="text" id="throttleid"...原创 2019-06-04 14:16:13 · 235 阅读 · 0 评论 -
Promise.all的实现和原理
Promise.all 功能:Promise.all(iterable)返回一个新的Promise实例,此实例在iterable参数内素有的Promise都fulfilled或者参数中不包含Promise时,状态变成fulfilled。 如果参数中Promise有一个失败rejected ,此实例回调失败,失败原因的是第一个失败Promise的返回结果let p = Promise.all...原创 2019-06-17 10:43:49 · 13834 阅读 · 4 评论 -
实现一个New操作符
记录一些小知识点: Object.setPrototype( res , prototype ) res:要设置其原型的对象 Prototype:该对象的新原型, (一个对象Or null) function New(Con , ...args){ let obj = {} Object.setPrototypeOf ( obj , Con.prototype ) let ...原创 2019-05-24 08:56:07 · 356 阅读 · 0 评论 -
函数柯里化实现
// 什么是函数柯里化?实现 sum(1)(2)(3) 返回结果是1,2,3之和// 函数柯里化是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,// 并且返回接受余下的参数而且返回结果的新函数的技术。function curry(fn, args = []) { return function () { let rest = [...arg...原创 2019-06-17 15:37:03 · 1087 阅读 · 0 评论 -
数组去重方法-unique
方法一:通过includes方法 let arr = '2223334314aabssbsadndmfsdfsfad1122'.split("")function unique(arr) { let newarr = [] arr.forEach((item, index) => { if (!newarr.includes(item)) { ...原创 2019-06-24 09:44:46 · 1100 阅读 · 1 评论