1,new 的過程;
function mynew(func) ;
if (func.prototype !== null)
if ((typeof (ret) === 'object' || typeof (ret) === 'function') && ret !== 'null')
return res;
}
2,實現json.stringify
function jsonstringify(obj)
return string(obj)
} else
v = string(v)
}else
arrjson.push(isarr?k:(k+':')+v)
}return (isarr ? '[':'');
}}
3,實現json.parse
function myparse(str)
4,實現call方法
function.prototype.mycall=function(content=window)
content.fn = this;
console.log(this);
let args=arguments.splice(1);
let res=null;
if(args)else
delete content.fn;
return res;
}6,實現bind方法
function.prototype.mybind = function mybind(content)
let fn = this;
let args = [...arguments].splice(1);
let res = function()
res.prototype = object.create(this.prototype);
return res;
}
7,六種繼承方式
function a(name)
function b(age)
//原型鏈繼承
a.prototype = new b();
//建構函式繼承
function b(age)
//組合式繼承
function b(age)
b.prototype = new a();
//原型式繼承
function b(obj);
func.prototype=obj;
return new func()
}let obj = new a();
let child = b(obj);
//寄生式繼承
function b(obj);
func.prototype=obj;
return new func()
}let obj = new a();
function child(obj)
//寄生組合式繼承
function b(age)
let apro = object.create(a.prototype);
apro.constructor=b;
b.prototype=apro;
常見js演算法題
author laifeipeng date 2019 02 21 17 50 13 last modified by laifeipeng last modified time 2019 02 21 18 12 27 1 判斷回文字串 法一 function palindrome str retu...
JS面試常見演算法題
學習資料結構與演算法對於工程師去理解和分析問題都是有幫助的。如果將來當我們面對較為複雜的問題,這些基礎知識的積累可以幫助我們更好的優化解決思路。下面羅列在前端面試中經常撞見的幾個問題吧。1.統計乙個字串出現最多的字母和出現的次數 第一種方法 var str abcdeddd var n for va...
JS面試常見演算法題
1.統計乙個字串出現最多的字母和出現的次數 第一種方法 var str abcdeddd var n for var i 0 i str.length i else console.log n var max 0 var maxchar null for var key in n var mores...