摘要:中使用操作符具體做了哪些事情創(chuàng)建了一個空對象空對象的屬性指向構(gòu)造函數(shù)的屬性執(zhí)行構(gòu)造函數(shù),將的指向前端面試題及答案瀏覽器篇前端面試題及答案篇前端面試題及答案篇前端面試題及答案性能優(yōu)化篇
這篇文章并不是最全的前端面試題(沒有最全,只有更全),只是針對自己面試過程中遇到的一些難題、容易忽略的題做一個簡單的筆記,方便后面有面試需要的小伙伴們借鑒,后續(xù)內(nèi)容會不定時更新,有錯誤之處希望大家不吝指出。
1、JS延遲加載的方式有哪些?
defer和async
動態(tài)創(chuàng)建DOM方式(創(chuàng)建script,插入到DOM中,加載完畢后callBack)
按需異步載入js
2、前端跨域解決方案詳情
3、如何實現(xiàn)淺拷貝和深拷貝
淺拷貝:
直接通過=賦值
let data = {n: 1}; let cloneData = data; cloneData.n = 2; console.log(data.n) // 2
如果obj對象有多個層級,可以通過Object.assign()
let data = {name: {firstName: "lsh"}}; let cloneData = Object.assign({}, data); cloneData.name.firstName = "lx"; console.log(data.name.firstName) // lx
深拷貝
簡單的通過JSON.parse(JSON.stringify(data))
通過lodash.js
let cloneData = lodash.cloneDeep(data);
如果obj對象只有一級,可以用Object.assign();
let data = {name: "lsh"}; let cloneData = Object.assign({}, data); cloneData.name = "lx"; console.log(data.name); // lsh
遞歸
function cloneDeep(data) { if (!data || typeof data != "object") { return data; } let obj = data.constructor === Array ? [] : {}; for (let i in data) { obj[i] = typeof data[i] === "object" ? cloneDeep(data[i]) : data[i] } return obj; }
通過Object.create()方法
let data = {n: 1}; let cloneData = Object.create(data); console.log(cloneData); // {} console.log(cloneData.n); // 1 console.log(cloneData.__proto__); // {n: 1}
通過$.extend()方法
let data = {t: 1}; let cloneData = $.extend(true, {}, data, {t: 2}); cloneData.t = 3; console.log(data.t) // 1
4、AMD、CMD、CommonJS之間區(qū)別
CommonJS:同步加載。必須等clock.js加載完成后才能調(diào)用start();
const clock = reqiure("clock"); clock.start();
AMD(require.js):異步加載模塊 => 依賴前置,提前執(zhí)行。先定義依賴,加載完成后在回調(diào)函數(shù)中執(zhí)行。
require(["clock", "lodash"], function(clock, lodash)) { clock.start(); lodash.uniq(); }
CMD(sea.js):異步加載模塊 => 依賴就近,延遲執(zhí)行。
define(function(reqiure, exports, module) { var clock = require("clock"); clock.start(); var lodash = require("lodash"); lodash.uniq([]); })
5、js中使用new操作符具體做了哪些事情?
let obj = new Base();
創(chuàng)建了一個空對象obj;
let obj = {};
空對象obj的__proto__屬性指向構(gòu)造函數(shù)Base的prototype屬性;
obj.__proto__ = Base.prototype;
執(zhí)行構(gòu)造函數(shù),將Base的this指向obj;
Base.call(obj);
前端面試題及答案 - 瀏覽器篇
前端面試題及答案 - HTML篇
前端面試題及答案 - CSS篇
前端面試題及答案 - 性能優(yōu)化篇
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/110239.html
摘要:手冊網(wǎng)超級有用的前端基礎(chǔ)技術(shù)面試問題收集前端面試題目及答案匯總史上最全前端面試題含答案常見前端面試題及答案經(jīng)典面試題及答案精選總結(jié)前端面試過程中最容易出現(xiàn)的問題前端面試題整理騰訊前端面試經(jīng)驗前端基礎(chǔ)面試題部分最新前端面試題攻略前端面試前端入 手冊網(wǎng):http://www.shouce.ren/post/index 超級有用的前端基礎(chǔ)技術(shù)面試問題收集:http://www.codec...
摘要:手冊網(wǎng)超級有用的前端基礎(chǔ)技術(shù)面試問題收集前端面試題目及答案匯總史上最全前端面試題含答案常見前端面試題及答案經(jīng)典面試題及答案精選總結(jié)前端面試過程中最容易出現(xiàn)的問題前端面試題整理騰訊前端面試經(jīng)驗前端基礎(chǔ)面試題部分最新前端面試題攻略前端面試前端入 手冊網(wǎng):http://www.shouce.ren/post/index 超級有用的前端基礎(chǔ)技術(shù)面試問題收集:http://www.codec...
摘要:前端面試題及答案總結(jié)掘金技術(shù)征文金三銀四,金九銀十,用來形容求職最好的幾個月。因為的存在,至少在被標(biāo)準(zhǔn)化的那一刻起,就支持異步編程了。然而異步編程真正發(fā)展壯大,的流行功不可沒。 showImg(https://segmentfault.com/img/bVVQOH?w=640&h=319); 1、2017前端面試題及答案總結(jié) |掘金技術(shù)征文 金三銀四,金九銀十,用來形容求職最好的幾個月...
閱讀 1438·2021-11-22 15:24
閱讀 2532·2021-10-11 11:06
閱讀 2339·2021-10-09 09:45
閱讀 2538·2021-09-09 09:33
閱讀 645·2019-08-30 15:53
閱讀 1449·2019-08-30 12:48
閱讀 689·2019-08-29 13:47
閱讀 512·2019-08-26 18:27