黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 職業指南 一些非常實用的JS前端面試題

一些非常實用的JS前端面試題

更新時間:2023-01-28 15:16:51 來源:動力節點 瀏覽1532次

1.談一談你理解的函數式編程

簡單說,“函數式編程”是一種“編程范式”,也就是如何編寫程序的方法論

它具有以下特性:閉包和高階函數、惰性計算、遞歸、函數是“第一等公民”、只用“表達式”

2.說說你對作用域鏈的理解

作用域鏈的作用是保證執行環境里有權訪問的變量和函數是有序的,作用域鏈的變量只能向上訪問,訪問到window對象即會終止,作用域鏈向下訪問是不被允許的

作用域就是變量與函數的可訪問范圍,即作用域控制著變量和函數的可見性和生命周期

3.什么是JavaScript原型,原型鏈?有什么特點?

每個對象都在其內部初始化一個屬性,就是prototype(原型),當我們訪問一個對象的屬性時,如果這個對象內部不存在這個屬性,那么它就會去prototype里找這個屬性,這個prototype又會有自己的prototype,于是就這樣一直找下去,也就是我們平時所說的原型鏈的概念。

關系:instance.constructor.prototype = instance.__proto__

JavaScript對象是通過引用來傳遞的,我們創建的每個新對象實體中并沒有一份屬于自己的原型副本。當我們修改原型時,與之相關的對象也會繼承這一改變

當我們需要一個屬性時,JavaScript引擎會先看當前對象中是否有這個屬性,如果沒有就會找他的prototype中是否有這個屬性,如此遞推下去,直到Object內建對象

4.說說什么是事件代理?

事件代理,又稱之為事件委托。是JavaScript中綁定事件的常用技巧。顧名思義,“事件代理”就是把原本需要監聽的事件委托給父元素,由父元素擔當事件監聽的職務。事件代理的原理是DOM元素的事件冒泡。使用事件地理的好處是可以提高性能。

可以大量節省內存占用,減少事件注冊,比如在table上代理所有td的click事件就非常棒

可以實現新增子對象時無需再次對其綁定

5.說說Ajax原理?

Ajax的原理簡單來說實在用戶和服務器之間加了一個中間層(AJAX引擎),由XMLHttpRequest對象來向服務器發異步請求,從服務器獲得數據,然后用JavaScript來操作DOM而更新頁面。使用戶操作與服務器響應異步化。這其中最關鍵的一步就是從服務器獲得請求數據

Ajax的過程只涉及JavaScript、XMLHttpRequest和DOM。XMLHttpRequest是Ajax的核心機制

Ajax的優點:

  • 通過異步模式提升了用戶體驗
  • 優化了瀏覽器和服務器之間的傳輸,減少了不必要的數據往返,減少了帶寬占用
  • Ajax在客戶端運行,承擔了一部分本來由服務器承擔的工作,減少了大用戶量下的服務器負載
  • Ajax可以實現局部刷新

Ajax的缺點:

  • 安全問題,Ajax暴露了與服務器的交互細節
  • 對搜索引擎的支持比較弱

Ajax的請求過程:

// 1、創建連接
var xhr = null;
xhr = new XMLHttpRequest();
// 2、連接服務器
xhr.open('get', url, true);
// 3、發送請求
xhr.send(null);
// 4、接受請求
xhr.onreadystatechange = function () {
    if (xhr.readyState == 4) {
        if (xhr.status == 200) {
            success(xhr.responseText);
        } else {
            // false
            fail && fail(xhr.status);
        }
    }
}

6.說說如何解決跨域問題?

  • 首先了解下瀏覽器的同源策略,他是一種約定,是瀏覽器最核心也是最基本的安全功能,如果缺少了同源策略,瀏覽器會很容易收到XSS、CSFR等攻擊。所謂同源策略是值“協議+域名+端口”三者相同,即便兩個不同的域名指向同一個IP地址,也非同源
  • 通過jsonp跨域
  • document.domain + iframe跨域
  • nginx代理跨域
  • nodejs中間件代理跨域
  • 后端在頭部信息里面設置安全域名解決跨域

7.異步加載JS的方式有哪些?

  • defer,只支持IE
  • async
  • 創建script,插入到DOM中,加載完畢后callback
// 異步加載地圖
export default function MapLoader() {
    return new Promise((resolve, reject) => {
        if (window.AMap) {
            resolve(window.AMap);
        } else {
            var script = document.createElement('script');
            script.type = 'text/javascript';
            script.async = ture;
            script.src = '';
            script.onerror = reject;
            document.head.appendChild(script);
        }
        window.initAMap = () => {
            resolve(window.AMap);
        }
    })
}

 以上就是“一些非常實用的JS前端面試題”,你能回答上來嗎?如果想要了解更多的Java面試題相關內容,可以關注動力節點Java官網。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 亚洲丶国产丶欧美一区二区三区 | 欧美日韩在线播放成人 | 国产成人精品一区二三区2022 | 在线亚洲精品防屏蔽 | 国产成人精品实拍在线 | 深夜在线免费 | 白洁的性荡生活全文 | 日本视频中文字幕一区二区 | 国产极品在线观看视频 | 欧美日韩一区二区三 | 久久夜色精品国产亚洲 | 天天操天天干天天射 | ppypp日本欧美一区二区 | 国产一区国产二区国产三区 | 成年人免费小视频 | 久9视频这里只有精品 | 一个人的www免费视频 | 黄色一级片观看 | 日韩免费专区 | 99久久中文字幕伊人 | 天天做天天爽爽快快 | 国产成人亚洲精品91专区高清 | 久99久精品视频免费观看v | 毛片爱爱| 亚洲欧美日韩在线观看二区 | 最近更新中文字幕影视 | 国产黄色的视频 | 亚洲欧美一区二区三区另类 | 天天躁狠狠躁夜躁2021 | 青草草在线观看免费视频 | 91视频看| 亚洲天堂久久新 | 日本在线天堂 | 波多野结衣手机在线视频 | 精品99视频 | 丁香五香天堂 | 涩涩爱网站 | 国产一级一级 | 一级黄色录像免费观看 | 在线观看免费黄网站 | 欧美成人私人视频88在线观看 |