JS 常見手寫題

2021-09-24 15:19:14 字數 1726 閱讀 7852

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...