<font id="zqva1"></font>
<rt id="zqva1"></rt>
  • <tt id="zqva1"></tt>
    <cite id="zqva1"></cite>

    <cite id="zqva1"><noscript id="zqva1"></noscript></cite>
      <rp id="zqva1"><meter id="zqva1"></meter></rp>

        <cite id="zqva1"></cite>
          <b id="zqva1"></b>
          <rp id="zqva1"></rp>
          <cite id="zqva1"></cite>

          <rt id="zqva1"></rt>

        1. <rp id="zqva1"></rp>

          史上最全的Javascript面試題總結(內附答案)

          時間:?2017-11-09閱讀:?894標簽:?面試作者:?編譯 | zyy

          近年來,從事JavaScript的程序員越來越多,JavaScript的曝光率也越來越高,如果你想轉行試試JavaScript,不妨收下這份面試題及答案,沒準用得上。當然,如果針對這些問題,你有更棒的答案,歡迎移步至評論區。

          1、什么是JavaScript?(這是基本題,對很多程序員來說也是送分題!)

          JavaScript是客戶端和服務器端腳本語言,可以插入到HTML頁面中,并且是目前較熱門的Web開發語言。同時,JavaScript也是面向對象編程語言。

          類似的基本題目還包括:JavaScript都有哪些類型?JavaScript是誰發明的?......

          2、列舉Java和JavaScript之間的區別?

          Java是一門十分完整、成熟的編程語言。相比之下,JavaScript是一個可以被引入HTML頁面的編程語言。這兩種語言并不完全相互依賴,而是針對不同的意圖而設計的。 Java是一種面向對象編程(OOPS)或結構化編程語言,類似的如C ++或C,而JavaScript是客戶端腳本語言,它被稱為非結構化編程。

          3. JavaScript和ASP腳本相比,哪個更快?

          JavaScript更快。JavaScript是一種客戶端語言,因此它不需要Web服務器的協助來執行。另一方面,ASP是服務器端語言,因此總是比JavaScript慢。值得注意的是,Javascript現在也可用于服務器端語言(nodejs)。

          史上最全的Javascript面試題總結(內附答案)

          4、什么是負無窮大?

          負無窮大是JavaScript中的一個數字,可以通過將負數除以零來得到。

          5、如何將JavaScript代碼分解成幾行嗎?

          在字符串語句中可以通過在第一行末尾使用反斜杠“\”來完成

          例:document.write("This is \a program");

          如果不是在字符串語句中更改為新行,那么javaScript會忽略行中的斷點。

          例:

          var x=1, y=2,

          z=

          x+y;

          上面的代碼是完美的,但并不建議這樣做,因為阻礙了調試。

          6、什么是未聲明和未定義的變量?

          未聲明的變量是程序中不存在且未聲明的變量。如果程序嘗試讀取未聲明變量的值,則會遇到運行時錯誤。未定義的變量是在程序中聲明但尚未給出任何值的變量。如果程序嘗試讀取未定義變量的值,則返回未定義的值。

          7、如何編寫可動態添加新元素的代碼?

          史上最全的Javascript面試題總結(內附答案)

          8、什么是全局變量?這些變量如何聲明,使用全局變量有哪些問題?

          全局變量是整個代碼長度可用的變量,也就是說這些變量沒有任何作用域。var關鍵字用于聲明局部變量或對象。如果省略var關鍵字,則聲明一個全局變量。

          例:// Declare a global globalVariable = “Test”;

          使用全局變量所面臨的問題是本地和全局變量名稱的沖突。此外,很難調試和測試依賴于全局變量的代碼。

          9、解釋JavaScript中定時器的工作?如果有,也可以說明使用定時器的缺點?

          定時器用于在設定的時間執行一段代碼,或者在給定的時間間隔內重復該代碼。這通過使用函數setTimeout,setInterval和clearInterval來完成。

          • setTimeout(function,delay)函數用于啟動在所述延遲之后調用特定功能的定時器。

          • setInterval(function,delay)函數用于在提到的延遲中重復執行給定的功能,只有在取消時才停止。

          • clearInterval(id)函數指示定時器停止。

          定時器在一個線程內運行,因此事件可能需要排隊等待執行。

          10、ViewState和SessionState有什么區別?

          “ViewState”特定于會話中的頁面。

          “SessionState”特定于可在Web應用程序中的所有頁面上訪問的用戶特定數據。

          11、什么是===運算符?

          ===被稱為嚴格等式運算符,當兩個操作數具有相同的值而沒有任何類型轉換時,該運算符返回true。

          12、說明如何使用JavaScript提交表單?

          要使用JavaScript提交表單,請使用

          document.form [0] .submit();

          13、元素的樣式/類如何改變?

          可以通過以下方式完成:

          document.getElementById(“myText”).style.fontSize = “20?;

          document.getElementById(“myText”).className = “anyclass”;

          14、JavaScript中的循環結構都有什么?

          For、While、do-while loops

          15、如何在JavaScript中將base字符串轉換為integer?

          parseInt() 函數解析一個字符串參數,并返回一個指定基數的整數。parseInt()將要轉換的字符串作為其第一個參數,第二個參數是給定字符串的基礎。

          為了將4F(基數16)轉換為整數,所使用的代碼是 :parseInt ("4F", 16);

          16、說明“==”和“===”之間的區別?

          “==”僅檢查值相等,而“===”是一個更嚴格的等式判定,如果兩個變量的值或類型不同,則返回false。

          17、3 + 2 +“7”的結果是什么?

          由于3和2是整數,它們將直接相加。由于7是一個字符串,它將會被直接連接,所以結果將是57。

          18、說明如何檢測客戶端機器上的操作系統?

          為了檢測客戶端機器上的操作系統,應使用navigator.appVersion字符串(屬性)。

          19、Javascript中的NULL是什么意思?

          NULL用于表示無值或無對象。它意味著沒有對象或空字符串,沒有有效的布爾值,沒有數值和數組對象。

          20、delete操作符的功能是什么?

          delete操作符用于刪除程序中的所有變量或對象,但不能刪除使用VAR關鍵字聲明的變量。

          21、JavaScript中有哪些類型的彈出框?

          Alert、Confirm and、Prompt

          22、Void(0)怎么用?
          • Void(0)用于防止頁面刷新,并在調用時傳遞參數“zero”。

          • Void(0)用于調用另一種方法而不刷新頁面。

          23、如何強制頁面加載JavaScript中的其他頁面?

          必須插入以下代碼才能達到預期效果:

          史上最全的Javascript面試題總結(內附答案)

          24、escape字符是用來做什么的?

          使用特殊字符(如單引號,雙引號,撇號和&符號)時,將使用轉義字符(反斜杠)。在字符前放置反斜杠,使其顯示。

          例:

          史上最全的Javascript面試題總結(內附答案)

          25、什么是JavaScript Cookie?

          Cookie是用來存儲計算機中的小型測試文件,當用戶訪問網站以存儲他們需要的信息時,它將被創建。

          26、解釋JavaScript中的pop()方法?

          pop()方法與shift()方法類似,但不同之處在于Shift方法在數組的開頭工作。此外,pop()方法將最后一個元素從給定的數組中取出并返回。然后改變被調用的數組。

          例:

          var cloths = [“Shirt”, “Pant”, “TShirt”];

          cloths.pop();

          //Now cloth becomes Shirt,Pant

          27、在JavaScript中使用innerHTML的缺點是什么?

          如果在JavaScript中使用innerHTML,缺點是:內容隨處可見;不能像“追加到innerHTML”一樣使用;即使你使用+ = like“innerHTML = innerHTML +'html'”舊的內容仍然會被html替換;整個innerHTML內容被重新解析并構建成元素,因此它的速度要慢得多;innerHTML不提供驗證,因此我們可能會在文檔中插入有效的和破壞性的HTML并將其中斷。

          28、break和continue語句的作用?
          • Break語句從當前循環中退出。

          • continue語句繼續下一個循環語句。

          29、在JavaScript中,dataypes的兩個基本組是什么?
          • Primitive

          • Reference types

          原始類型是數字和布爾數據類型。引用類型是更復雜的類型,如字符串和日期。

          30、如何創建通用對象?

          通用對象可以創建為:

          var I = new object();

          31、operator類型用來做什么?

          'Typeof'是一個運算符,用于返回變量類型的字符串描述。

          32、哪些關鍵字用于處理異常?

          try... Catch-finally用于處理JavaScript中的異常。

          史上最全的Javascript面試題總結(內附答案)

          33、JavaScript中不同類型的錯誤有幾種?

          有三種類型的錯誤:

          • Load time errors:該錯誤發生于加載網頁時,例如出現語法錯誤等狀況,稱為加載時間錯誤,并且會動態生成錯誤。

          • Run time errors:由于在HTML語言中濫用命令而導致的錯誤。

          • Logical Errors:這是由于在具有不同操作的函數上執行了錯誤邏輯而發生的錯誤。

          34、在JavaScript中使用的Push方法是什么?

          push方法用于將一個或多個元素添加或附加到數組的末尾。使用這種方法,可以通過傳遞多個參數來附加多個元素。

          35、什么是JavaScript中的unshift方法?

          Unshift方法就像在數組開頭工作的push方法。該方法用于將一個或多個元素添加到數組的開頭。

          36、對象屬性如何分配?

          屬性按以下方式分配給對象:

          obj["class"] = 12;

          obj.class = 12;

          37、獲得CheckBox狀態的方式是什么?

          alert(document.getElementById('checkbox1')。checked);

          如果CheckBox被檢查,此警報將返回TRUE。

          38、解釋window.onload和onDocumentReady?

          在載入頁面的所有信息之前,不運行onload函數。這導致在執行任何代碼之前會出現延遲。

          onDocumentReady在加載DOM之后加載代碼。這允許早期的代碼操縱。

          39、你將如何解釋JavaScript中的閉包? 什么時候使用?

          Closure是與函數返回時保留在內存中的函數相關的本地聲明變量。

          例如:

          史上最全的Javascript面試題總結(內附答案)

          40、一個值如何附加到數組?

          可以以給定的方式將值附加到數組:

          arr [arr.length] = value;

          41、解釋for-in循環?

          for-in循環用于循環對象的屬性。

          for-in循環的語法是:

          史上最全的Javascript面試題總結(內附答案)

          在每次循環中,來自對象的一個屬性與變量名相關聯,循環繼續,直到對象的所有屬性都被耗盡。

          42、描述JavaScript中的匿名函數?

          被聲明為沒有任何命名標識符的函數被稱為匿名函數。一般來說,匿名函數在聲明后無法訪問。

          匿名函數聲明:

          史上最全的Javascript面試題總結(內附答案)

          43、.call()和.apply()之間有什么區別?

          函數.call()和.apply()在使用上非常相似,只是有一點區別。當程序員知道函數參數的編號時,使用.call(),因為它們必須在調用語句中被提及為參數。另一方面,當不知道數字時使用.apply(),函數.apply()期望參數為數組。

          .call()和.apply()之間的基本區別在于將參數傳遞給函數。它們的用法可以通過給定的例子進行說明。

          史上最全的Javascript面試題總結(內附答案)

          44、定義事件冒泡?

          JavaScript允許DOM元素嵌套在一起。在這種情況下,如果單擊子級的處理程序,父級的處理程序也將執行同樣的工作。

          45、什么樣的布爾運算符可以在JavaScript中使用?

          “And”運算符(&&),'Or'運算符(||)和'Not'運算符(!)可以在JavaScript中使用。

          *運算符沒有括號。

          46、一個特定的框架如何使用JavaScript中的超鏈接定位?

          可以通過使用“target”屬性在超鏈接中包含所需幀的名稱來實現。

          <a href=”newpage.htm” target=”newframe”>>New Page</a>

          47、在web-garden和web-farm之間有何不同?

          web-garden和web-farm都是網絡托管系統。唯一的區別是web-garden是在單個服務器中包含許多處理器的設置,而web-farm是使用多個服務器的較大設置。

          48、如何分配對象屬性?

          將屬性分配給對象的方式與賦值給變量值相同。例如,表單對象的操作值以下列方式分配為“‘submit”:Document.form.action =“submit”

          49、在JavaScript中讀取和寫入文件的方法是什么?

          可以通過使用JavaScript擴展(從JavaScript編輯器運行),打開文件的示例來完成:

          fh = fopen(getScriptPath(), 0);

          50、在JavaScript中如何使用DOM?

          DOM代表文檔對象模型,并且負責文檔中各種對象的相互交互。DOM是開發網頁所必需的,其中包括諸如段落,鏈接等對象。可以操作這些對象以包括添加或刪除等操作,DOM還需要向網頁添加額外的功能。除此之外,API的使用比其他更有優勢。

          51、JavaScript中如何使用事件處理程序?

          事件是由用戶生成活動(例如單擊鏈接或填寫表單)導致的操作。需要一個事件處理程序來管理所有這些事件的正確執行。事件處理程序是對象的額外屬性。此屬性包括事件的名稱以及事件發生時采取的操作。

          52、解釋延遲腳本在JavaScript中的作用?

          默認情況下,在頁面加載期間,HTML代碼的解析將暫停,直到腳本停止執行。這意味著,如果服務器速度較慢或者腳本特別沉重,則會導致網頁延遲。在使用Deferred時,腳本會延遲執行直到HTML解析器運行。這減少了網頁加載時間,并且它們的顯示速度更快。

          53、JavaScript中的各種功能組件是什么?

          JavaScript中的不同功能組件是:

          • First-class函數:JavaScript中的函數被用作第一類對象。這通常意味著這些函數可以作為參數傳遞給其他函數,作為其他函數的值返回,分配給變量,也可以存儲在數據結構中。

          • 嵌套函數:在其他函數中定義的函數稱為嵌套函數。

          54、解釋unshift()方法?

          該方法在數組啟動時起作用,與push()不同。 它將所需數量的元素添加到數組的頂部。例如:

          史上最全的Javascript面試題總結(內附答案)

          輸出如下所示:

          [" joseph "," Jane ", " charlie ", " john "]

          55、decodeURI()和encodeURI()是什么?

          EncodeURl()用于將URL轉換為十六進制編碼。而DecodeURI()用于將編碼的URL轉換回正常。

          56、為什么不建議在JavaScript中使用innerHTML?

          innerHTML內容每次刷新,因此很慢。 在innerHTML中沒有驗證的余地,因此,更容易在文檔中插入錯誤代碼,從而使網頁不穩定。

          57、如何在不支持JavaScript的舊瀏覽器中隱藏JavaScript代碼?
          • 在<script>標簽之后的代碼中添加“<! - ”,不帶引號。

          • 在<script>標簽之前添加“// - >”代碼中沒有引號。

          • 舊瀏覽器現在將JavaScript代碼視為一個長的HTML注釋。而支持JavaScript的瀏覽器則將“<! - ”和“// - >”作為一行注釋。


          轉載于:http://tech.it168.com/a2017/0413/3115/000003115439.shtml
          站長推薦

          1.阿里云: 本站目前使用的是阿里云主機,安全/可靠/穩定。點擊領取2000元代金券、了解最新阿里云產品的各種優惠活動點擊進入

          2.騰訊云: 提供云服務器、云數據庫、云存儲、視頻與CDN、域名等服務。騰訊云各類產品的最新活動,優惠券領取點擊進入

          3.廣告聯盟: 整理了目前主流的廣告聯盟平臺,如果你有流量,可以作為參考選擇適合你的平臺點擊進入

          鏈接: http://www.modern-decoration.com.cn/article/detial/74

          前端同學經常忽視的一個JavaScript面試題

          這幾天面試上幾次碰上這道經典的題目,特地從頭到尾來分析一次答案,這道題的經典之處在于它綜合考察了面試者的JavaScript的綜合能力,包含了變量定義提升、this指針指向、運算符優先級、原型、繼承、全局變量污染、對象屬性及原型屬性優先級等知識

          CSS 面試知識點總結

          最近在整理 CSS 的時候發現遇到了很多面試中常見的面試題,本部分主要原作者在 Github 等各大論壇收錄的 CSS 相關知識和一些相關面試題時所做的筆記,分享這份總結給大家,對大家對 CSS 的可以來一次全方位的檢漏和排查

          7個簡單但棘手的JavaScript面試問題

          如果您符合高級開發人員的資格,其工作涉及JavaScript,那么在編碼面試中很有可能會被問到棘手的問題。在這篇文章中,你會發現7個乍一看很簡單但很棘手的JavaScript面試問題。雖然一開始這些問題看起來是隨意的,但是它們試圖與JavaScript的重要概念掛鉤

          面試官:談談你對mysql聯合索引的認識?

          所謂最左原則指的就是如果你的 SQL 語句中用到了聯合索引中的最左邊的索引,那么這條 SQL 語句就可以利用這個聯合索引去進行匹配,值得注意的是,當遇到范圍查詢(>、<、between、like)就會停止匹配。

          ES5和ES6函數你不知道的區別

          利用原生 js 擼一個簡單的 class;根據上面的用法知道 class 必須通過 new 調用,不能直接調用;里面可以定義實例的屬性

          Js中各種源碼實現(前端面試筆試必備)

          能夠手撕各種JavaScript原生函數,可以說是進大廠必備!同時對JavaScript源碼的學習和實現也能幫助我們快速扎實地提升自己的前端編程能力。最近很多人和我一樣在積極地準備前端面試筆試,所以就整理了一些前端面試筆試中非常容易被問到的原生函數實現和各種前端原理實現。

          大廠面試題分享:如何讓(a===1&&a===2&&a===3)的值為true?

          當我第一次看到這一題目的時候,我是比較震驚的,分析了下很不合我們編程的常理,并認為不大可能,變量a要在同一情況下要同時等于1,2和3這三個值,這是天方夜譚吧,不亞于哥德巴赫1+1=1的猜想吧,不過一切皆有可能

          36個JS面試題

          在現代js中,let&const是創建變量的不同方式。 在早期的js中,咱們使用var關鍵字來創建變量。 let&const關鍵字是在ES6版本中引入的,其目的是在js中創建兩種不同類型的變量,一種是不可變的,另一種是可變的。

          Promise面試題整理

          但Promise回調函數中的第二個參數reject不具備”拆箱“的能力,reject的參數會直接傳遞給then方法中的rejected回調。因此,即使p3 reject接收了一個resolved狀態的Promise,then方法中被調用的依然是rejected,并且參數就是reject接收到的Promise對象。

          前端Css常見面試

          對于前端來說,涉及的知識面廣,內容繁多,但是萬變不離其宗,主要也就是圍繞著html(5),css(less,scss,sass,styus,css3),js(es5,es6),以及常見的幾大熱門框架vue,react等,話不多說,直接開始進入主題。

          內容以共享、參考、研究為目的,不存在任何商業目的。其版權屬原作者所有,如有侵權或違規,請與小編聯系!情況屬實本人將予以刪除!

          文章投稿關于web前端網站點搜索站長推薦網站地圖站長QQ:522607023

          小程序專欄: 土味情話心理測試腦筋急轉彎幽默笑話段子句子語錄成語大全運營推廣

          国产精品高清视频免费 - 视频 - 在线观看 - 影视资讯 - 唯爱网