摘要:
对于一个函数: function add(a,b,c){ return a + b + c } 我们希望实现一个效果,我们希望有另外一个函数curryingAdd,使得curryingAdd(1,2,3),curryingAdd(1,2)(3),curryingAdd(1)(2,3)和add(1,2 阅读全文
摘要:
聊聊什么是jsonp 说到son大家应该是很熟悉的,jsonp和json只差了一个字母,那么他们是不是他们有着非常密切的关系呢?答案是确定的。jsonp全称”JSON with Padding“,意思应该是”填充的json“。那么问题就来了,填充指的是什么,怎么填充呢? 聊聊script标签 <sc 阅读全文
摘要:
关于new的原理可参考:https://www.cnblogs.com/guanghe/p/11356347.html 下面是实现代码: function New(fn){ //fn是父类 var res = {}; if(fn.prototype !== null) { res.__proto__ 阅读全文
摘要:
关于instanceof的具体用法和原理,可参考:https://blog.csdn.net/LL18781132750/article/details/81115081 下面给出instanceof的实现代码: function myInstanceof(left,right){ var prot 阅读全文
摘要:
var intToRoman = function(num) { let res = '' const numArr = [1000,900,500,400,100,90,50,40,10,9,5,4,1] const strArr = ['M','CM','D', 'CD','C','XC','L 阅读全文
摘要:
var romanToInt = function(s) { var hashMap = { 'M': 1000, 'D': 500, 'C': 100, 'L': 50, 'X': 10, 'V': 5, 'I': 1 }; var num = 0; for(var i = 0; i < s.le 阅读全文
摘要:
现有一个父类: function People(name){ //属性 this.name = name //实例方法 this.sleep=function(){ console.log(this.name + '正在睡觉') } } //原型方法 People.prototype.eat = f 阅读全文
摘要:
class EventEmitter { constructor(){ this.messageBox = {} } on(eventName,fn){ const callbacks = this.messageBox[eventName] || [] callbacks.push(fn) thi 阅读全文
摘要:
call: Function.prototype.$call = function(context) { var context = context || window; context.fn = this; var args = Array.from(arguments).slice(1) con 阅读全文
摘要:
Array.prototype.fakeFilter = function fakeFilter(fn, context) { if (typeof fn !== "function") { throw new TypeError(`${fn} is not a function`); } let 阅读全文