日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
22道JavaScript面試常被問到的問題

如果你想從事開發(fā)工作,我們在準(zhǔn)備面試的時候,總會遇到很多面試題,這些面試題,都是企業(yè)作為篩選人員的一種方式,雖然,不一定能夠找到合適的員工,但是這樣的方式會提升他們的工作效率。

目前創(chuàng)新互聯(lián)已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站改版維護(hù)、企業(yè)網(wǎng)站設(shè)計、隴縣網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

而作為應(yīng)聘者的我們,特別是作為一個行業(yè)新人,認(rèn)真準(zhǔn)備每一次面試真的非常重要,因為我們期望得到自己心儀的工作機(jī)會。

其實,很多時候,我們在面試的時候,企業(yè)也不會故意出難題為難大家,并且我發(fā)現(xiàn)一般的企業(yè),都不是要求大家掌握所有技能,當(dāng)然,這也不科學(xué),他們只希望前來面試的人對 HTML、CSS 和最重要的 JavaScript 等基本 Web 技術(shù)有一些深入的了解,特別是JavaScript技術(shù),真的是可以出題的內(nèi)容太多了。

因此,今天,在這里,我們整理了一些面試中的高頻又基礎(chǔ)的JavaScript 面試題,希望對你有所幫助。

好了,我們現(xiàn)在開始今天的內(nèi)容。

1、ES6版本引入了哪些特性?

  •  let 和 const 關(guān)鍵字。
  •  箭頭函數(shù)。
  •  多行字符串。
  •  解構(gòu)賦值。
  •  增強的對象文字。
  •  Promises

2、var、const 和 let 的主要區(qū)別是什么?

  •  用 let 和 const 聲明的變量是塊范圍的;用 var 聲明的變量是全局范圍的或函數(shù)范圍的。
  •  var 變量可以在其范圍內(nèi)更新和重新聲明;讓變量可以更新但不能重新聲明;const 變量既不能更新也不能重新聲明。
  •  var 可以提升到其作用域的頂部。其中 var 變量初始化為未定義,let 和 const 變量未初始化(臨時死區(qū),TDZ)。
  •  雖然可以在不初始化的情況下聲明 var 和 let,但必須在聲明期間初始化 const。

3、什么是promise和async-await?

Promises 是一種在 JavaScript 中啟用異步編程的方法。一般來說,Promise 意味著程序調(diào)用函數(shù)時期它返回調(diào)用程序可以在進(jìn)一步計算中使用的結(jié)果。

Async-await 也有助于異步編程。它是 promise 的語法糖。Async-await 語法簡單,很容易在單個函數(shù)中維護(hù)大量異步調(diào)用。此外, async-wait 可以防止回調(diào)地獄。

const myPromise = new Promise((resolve, reject) => {  
// condition
});

4、什么是閉包?

在 JavaScript 函數(shù)中定義的函數(shù)稱為閉包。它可以訪問 3 種類型的范圍(內(nèi)部、外部和全局),在外部函數(shù)的情況下,除了訪問變量之外,它還可以查看參數(shù)。

5、如何用 JavaScript 編寫“Hello World”?

這可能是向所有新人提出的非?;镜?JavaScript 面試高頻問題。它可以使用以下語法編寫,可以放置在 HTML 文件的正文中。

document.write(“JavaScript Hello World!”);

6、如何使用外部 JS 文件?

可以通過使用以下語法從 HTML 文檔調(diào)用文件來完成,就像調(diào)用外部 CSS 文件一樣。


7、JavaScript如何保持并發(fā)?

  •  事件循環(huán)。
  •  微和宏隊列。
  •  回調(diào)。
  •  線程池和集群(多線程)。

8、什么是回調(diào),并提供一個簡單的例子

回調(diào)函數(shù)是作為參數(shù)傳遞給另一個函數(shù)并在某些操作完成后執(zhí)行的函數(shù)。下面是一個簡單的回調(diào)函數(shù)示例,該函數(shù)在某些操作完成后記錄到控制臺。

function modifyArray(arr, callback) {
// do something to arr here
arr.push(100);
// then execute the callback function that was passed
callback();
}
var arr = [1, 2, 3, 4, 5];
modifyArray(arr, function() {
console.log("array has been modified", arr);
});

9、我們有多少種方式來聲明一個函數(shù),它們之間有什么不同?

函數(shù)聲明由 function 關(guān)鍵字組成,后跟一個強制性的函數(shù)名稱,一對括號中的參數(shù)列表。

可以在對象字面量和 ES2015 類的方法聲明中使用速記方法定義。

使用包含參數(shù)列表的一對括號定義箭頭函數(shù)。后面是一個粗箭頭 => 和一對分隔正文語句的花括號。

在函數(shù)表達(dá)式中,您將函數(shù)分配給變量。

可以使用 Function 構(gòu)造函數(shù)動態(tài)創(chuàng)建函數(shù),但存在安全和性能問題,不建議使用。

10、什么是對象以及如何創(chuàng)建它?

一切都是對象,因為 JavaScript 是一種基于對象的語言。不過,我們可以將對象定義為具有自己的行為和狀態(tài)的實體。

創(chuàng)建對象的常用方法是使用“new”關(guān)鍵字創(chuàng)建實例。

Var object = new Object();

11、“this”是什么意思?

與其他面向?qū)ο蟮木幊陶Z言中“this”是由類實例化的對象不同,在 JavaScript 中,“this”是一個對象,它是方法的所有者。

12、什么是匿名函數(shù)?

顧名思義,它是一個沒有名字的函數(shù),它們是在運行時使用函數(shù)運算符動態(tài)聲明的,因為它提供了比聲明符更大的靈活性。

var display=function()  
{
alert("Anonymous Function is declared");
}
display();

13、您對 BOM 了解多少?

BOM,也稱為瀏覽器對象模型,用作瀏覽器的交互介質(zhì)。默認(rèn)對象是窗口,所有函數(shù)都可以直接調(diào)用,也可以通過指定窗口來調(diào)用。History、Screen、location,是 Window 的不同屬性。

14、什么是 DOM 及其用法?

Document Object Model,俗稱DOM,代表HTML文檔,它用于更改 HTML 文檔的內(nèi)容。

15、如何從特定索引返回字符?

charAt() 方法可用于找出任何特定索引處的字符值,考慮到“n”是字符串的長度,索引可以從 0 開始,到“n-1”結(jié)束。然而,索引的值不能為負(fù)數(shù),不能等于或大于字符串的長度。

var str="LambdaTest";    
document.writeln(str.charAt(4));

16、“==”和“===”的區(qū)別

這可能是被問得最多的 JavaScript 面試問題。

類型轉(zhuǎn)換相等 (==) 檢查 2 個變量是否相似,無論它們的數(shù)據(jù)類型如何。例如 (“3” ==3) 將返回 true。

嚴(yán)格相等 (===) 檢查 2 個變量是否具有相似的數(shù)據(jù)類型和值。例如 (“3” ===3) 將返回 false。

17、JS中有哪些不同的數(shù)據(jù)類型?

JavaScript 有以下數(shù)據(jù)類型:

18、什么是原型屬性?

原型屬性通常用于實現(xiàn)繼承。每個函數(shù)都有一個,默認(rèn)值為空。方法和屬性被添加到原型中以使其可用于實例。你可以用一個計算矩形周長的例子來回答這個 JavaScript 面試問題。

function Rectangle(x, y) {
this.x = x;
this.y = y;
}
Rectangle.prototype.perimeter = function() {
return 2 * (this.x + this.y);
}
var rectangle = new Rectangle(4, 3);
console.log(rectangle.perimeter()); // outputs '14'

19、異步編程及其重要性

在這里,JS 引擎在事件循環(huán)中運行。當(dāng)遇到阻塞操作時,會觸發(fā)請求并且代碼會不斷運行。一旦響應(yīng)準(zhǔn)備好,就會觸發(fā)中斷。執(zhí)行事件處理程序,而控制流繼續(xù)。因此,通過異步編程,單個線程可以同時處理多個操作。

20、窗口對象的使用

這不是 JavaScript 對象,而是瀏覽器自動創(chuàng)建的外部窗口。它用于顯示彈出對話框。例如

alert() - 顯示帶有自定義消息和“確定”按鈕的警報框。

注意:- 英特爾 XDK 測試 — 跨 3000 多種不同的桌面和移動瀏覽器測試您基于英特爾 XDK CSS 框架的網(wǎng)站。

21、客戶端 JavaScript 與服務(wù)器端有何不同?

客戶端 JavaScript 通常由基本語言以及與在瀏覽器中運行的腳本相關(guān)的某些預(yù)定義對象組成。由 HTML 直接嵌入,在運行時由瀏覽器執(zhí)行。

服務(wù)器端 JS 幾乎類似于客戶端。但是,它是在服務(wù)器中執(zhí)行的,并且只有在代碼編譯完成后才能部署。

22、JavaScript 中變量的命名約定

在命名變量時,我們必須遵循一定的規(guī)則:

  •  不要使用 JavaScript 保留的關(guān)鍵字。例如——布爾值、中斷等。
  •  不要以數(shù)字開頭的變量名。以“_”或字母開頭。例如,不要寫 123func,而是寫 func123 或 _123func。
  •  變量區(qū)分大小寫?!瓼unc’ 和 ‘func’ 將被區(qū)別對待。

總結(jié)

以上就是在 JavaScript 面試中,被經(jīng)常問到的一些問題,當(dāng)然,這不是全部,我們在面試中,經(jīng)常被問到一些關(guān)于JavaScript的問題,其實,都是比較基礎(chǔ)的知識。

當(dāng)然,在實際面試中,具體面試官會問什么,誰也沒有辦法預(yù)料,但是,如果我們有備而來,就不至于太慌張,還有就是,面試時被問的技術(shù)問題,有時候,也取決于面試官的知識技能儲備以及工作中實際需要的知識。

總之,我們需要平時多加學(xué)習(xí),以備不時之需,技多不壓身。

最后,希望今天內(nèi)容對你有幫助,如果你覺得有用的話,請記得點贊我,關(guān)注我,并將它分享給你的朋友,也許能夠幫助到他。

感謝你的閱讀,祝編程愉快!


文章名稱:22道JavaScript面試常被問到的問題
轉(zhuǎn)載來源:http://www.5511xx.com/article/cosedij.html