寫在前面javascript
受去年大環境的影響,目前很現實的問題就是,今年使人滿意的工做不是那麼的好找。如今前端僅僅當個api user很難找到滿意的工做,因此本系列旨在接下來的一段時間裏分享一些前端知識,幫助更好的拿到滿意offer。前端
function MyNew(Fn,...args) {
// 建立一個新對象
let obj = {};
// 將構造函數的prototype賦值給新對象的__proto__
obj.__proto__ = Fn.prototype;
// 將構造函數的this指向新對象obj,而且調用這個新對象
let res = Fn.apply(obj,args);
// 若是返回值不是引用類型,返回obj,不然返回res
return res instanceof Object ? res : obj
}
function Fn(name='dd',age='18') {
this.name = name;
this.age = age;
}
let res = new Fn();
let myRes = new Fn('Charles','20');
console.log(res);
// {
// age: "18",
// name: "dd",
// __proto__: Object
// }
console.log(myRes);
// {
// age: "20",
// name: "Charles",
// __proto__: Object
// }
console.log(Object.getPrototypeOf(res) === Object.getPrototypeOf(myRes));
// true
複製代碼
結語java
我會不按期的分享前端各類知識點還有我以及小夥伴實際中遇到的問題,第一次寫技術文章,歡迎各位大佬指出不對的地方。
若是你不知道從哪開始準備,若是你想鞏固前端知識,那麼關注我吧,一章一個知識,看完不只不累還想再加會兒班,括弧笑。api
PS:部份內容會來自互聯網以及書籍,全是原創原諒我作不到哇。app