原生方法封装
原声封装,自己学习
Bearbearssss
这个作者很懒,什么都没留下…
展开
-
call和apply的原理,并实现简易版本
1.call和apply的原理都一样,只是接受参数形式不一样,下面实现了一个简易版本的call方法// 实现时用callDemo来表示js原生中的callFunction.property.callDemo = function(context){ // 如果传入了context,调用object来做一次转换,如果没传context则context指向window context = context?Object(context): Window; // 获取除了cont原创 2021-12-19 18:30:32 · 151 阅读 · 0 评论 -
js 往对象中增加变量时,相同变量采用后边加递增数字的算法
/** * @description: 往对象中增加字段,如果对象中存在同名对象,则将字段加递增数字后加入对象中 * @param {Object} object 需要增加字段的对象 * @param {string} field 需要增加的字段名 * @return {object} 增加字段后的对象 */function addFieldObject(object, field:string) { // 没有重名的直接往对象中增加字段 if(!object[field]) {.原创 2021-09-16 17:05:02 · 668 阅读 · 0 评论 -
手动实现一个instanceof
instanceof的底层实现原理,手动实现一个instanceof原创 2021-06-04 22:24:53 · 210 阅读 · 0 评论 -
大数相加算法
function add(num1, num2) { const maxLen = Math.max(num1.length, num2.length); // 将两个大数的长度处理成一致方便后续计算 num1 = num1.padStart(maxLen, '0') num2 = num2.padStart(maxLen, '0') let sum = “” // 总数 let bit = 0 // 进位 let singSum = 0 //.原创 2021-05-18 20:42:52 · 66 阅读 · 0 评论 -
jsonp原理并用promise实现JSONP
function jsonP(url, data) { return new Promise((reslove, reject) => { const dataString = url.indexOf('?') === -1 ? '?' : '&'; const callBack = `CB${new Date().getTime()}`; url += `${dataString}callBack=${callBack}`; if (.原创 2021-05-11 20:33:18 · 255 阅读 · 0 评论