久久综合九色综合97婷婷-美女视频黄频a免费-精品日本一区二区三区在线观看-日韩中文无码有码免费视频-亚洲中文字幕无码专区-扒开双腿疯狂进出爽爽爽动态照片-国产乱理伦片在线观看夜-高清极品美女毛茸茸-欧美寡妇性猛交XXX-国产亚洲精品99在线播放-日韩美女毛片又爽又大毛片,99久久久无码国产精品9,国产成a人片在线观看视频下载,欧美疯狂xxxx吞精视频

有趣生活

當前位置:首頁>職場>js基礎面試試題(js基礎面試題61-70道題目)

js基礎面試試題(js基礎面試題61-70道題目)

發布時間:2024-01-24閱讀(23)

導讀61.作用域的分類參考答案:塊作用域、詞法作用域、動態作用域,今天小編就來說說關于js基礎面試試題?下面更多詳細答案一起來看看吧!js基礎面試試題61.作用....

61.作用域的分類參考答案:塊作用域、詞法作用域、動態作用域,今天小編就來說說關于js基礎面試試題?下面更多詳細答案一起來看看吧!

js基礎面試試題(js基礎面試題61-70道題目)

js基礎面試試題

61.作用域的分類

參考答案:塊作用域、詞法作用域、動態作用域

解析:

1 塊作用域 花括號 {}

2 詞法作用域(js 屬于詞法作用域) 作用域只跟在何處被創建有關系,跟在何處被調用沒有關系

3 動態作用域 作用域只跟在何處被調用有關系,跟在何處被創建沒有關系

參與互動

62.js 屬于哪種作用域

參考答案:詞法作用域(函數作用域)

解析:

// 塊作用域/*{ var num =123; } console.log(num);*/// 如果js屬于塊作用域,那么在花括號外部就無法訪問到花括號內部的聲明的num變量。// 如果js不屬于塊級作用域,那么花括號外部就能夠訪問到花括號內部聲明的num變量// 能夠輸出num變量,也就說明js不屬于塊級作用。// 在ES6 之前的版本js是不存在塊級作用域的。//js屬于詞法作用域還是動態作用域// js中函數可以幫我們去形成一個作用域/* function fn(){ var num =123; } fn(); //在函數外界能否訪問到num這樣一個變量 console.log(num)*/ //Uncaught ReferenceError: num is not defined// 如果函數能夠生成一個作用域,那么在函數外界就無法訪問到函數內部聲明的變量。// js中的函數能夠生成一個作用。 函數作用域 。// 詞法作用域:作用的外界只跟作用域在何處創建有關系,跟作用域在何處被調用沒有關系var num = 123;function f1() { console.log(num); //}function f2() { var num = 456; f1(); //f1在f2被調用的時候會被執行 。}f2();//如果js是詞法作用域,那么就會輸出f1被創建的時候外部的num變量 123//如果js是動態作用域,那么f1執行的時候就會輸出f1被調用時外部環境中的num 456

參與互動

63.浮點數精度

參考答案:參考

參與互動

64.自執行函數? 用于什么場景?好處?

參考答案:

自執行函數: 1、聲明一個匿名函數 2、馬上調用這個匿名函數。作用:創建一個獨立的作用域。

好處:防止變量彌散到全局,以免各種 js 庫沖突。隔離作用域避免污染,或者截斷作用域鏈,避免閉包造成引用變量無法釋放。利用立即執行特性,返回需要的業務函數或對象,避免每次通過條件判斷來處理

場景:一般用于框架、插件等場景

參與互動

65.多個頁面之間如何進行通信

參考答案:有如下幾個方式:

  • cookie
  • web worker
  • localeStorage 和 sessionStorage

參與互動

66.css 動畫和 js 動畫的差異

參考答案:

1.代碼復雜度,js 動畫代碼相對復雜一些 2.動畫運行時,對動畫的控制程度上,js 能夠讓動畫,暫停,取消,終止,css 動畫不能添加事件 3.動畫性能看,js 動畫多了一個 js 解析的過程,性能不如 css 動畫好

解析:參考

參與互動

67.如何做到修改 url 參數頁面不刷新

參考答案:

HTML5 引入了 history.pushState() 和 history.replaceState() 方法,它們分別可以添加和修改歷史記錄條目。

let stateObj = { foo: "bar"};history.pushState(stateObj, "page 2", "bar.html");

假設當前頁面為 foo.html ,執行上述代碼后會變為 bar.html ,點擊瀏覽器后退,會變為 foo.html ,但瀏覽器并不會刷新。 pushState() 需要三個參數: 一個狀態對象, 一個標題 (目前被忽略), 和 (可選的) 一個 URL.讓我們來解釋下這三個參數詳細內容:

  • 狀態對象 — 狀態對象 state 是一個 JavaScript 對象,通過 pushState () 創建新的歷史記錄條目。無論什么時候用戶導航到新的狀態, popstate 事件就會被觸發,且該事件的 state 屬性包含該歷史記錄條目狀態對象的副本。
  • 狀態對象可以是能被序列化的任何東西。原因在于 Firefox 將狀態對象保存在用戶的磁盤上,以便在用戶重啟瀏覽器時使用,我們規定了狀態對象在序列化表示后有 640k 的大小限制。如果你給 pushState() 方法傳了一個序列化后大于 640k 的狀態對象,該方法會拋出異常。如果你需要更大的空間,建議使用 sessionStorage 以及 localStorage .
  • 標題 — Firefox 目前忽略這個參數,但未來可能會用到。傳遞一個空字符串在這里是安全的,而在將來這是不安全的。二選一的話,你可以為跳轉的 state 傳遞一個短標題。
  • URL — 該參數定義了新的歷史 URL 記錄。注意,調用 pushState() 后瀏覽器并不會立即加載這個 URL,但可能會在稍后某些情況下加載這個 URL,比如在用戶重新打開瀏覽器時。新 URL 不必須為絕對路徑。如果新 URL 是相對路徑,那么它將被作為相對于當前 URL 處理。新 URL 必須與當前 URL 同源,否則 pushState() 會拋出一個異常。該參數是可選的,缺省為當前 URL。

參與互動

68.數組方法 pop() push() unshift() shift()

參考答案:

  • arr.pop() 從后面刪除元素,只能是一個,返回值是刪除的元素
  • arr.push() 從后面添加元素,返回值為添加完后的數組的長度
  • arr.unshift() 從前面添加元素, 返回值是添加完后的數組的長度
  • arr.shift() 從前面刪除元素,只能刪除一個 返回值是刪除的元素

參與互動

69.事件綁定與普通事件有什么區別

參考答案:

  • 用普通事件添加相同事件,下面會覆蓋上面的,而事件綁定不會
  • 普通事件是針對非 dom 元素,事件綁定是針對 dom 元素的事件

參與互動

70.IE 和 DOM 事件流的區別

參考答案:

1.事件流的區別

IE 采用冒泡型事件 Netscape 使用捕獲型事件 DOM 使用先捕獲后冒泡型事件 示例:

復制代碼代碼如下:

<body> <div> <button>點擊這里</button> </div></body>

冒泡型事件模型: button->div->body (IE 事件流)

捕獲型事件模型: body->div->button (Netscape 事件流)

DOM 事件模型: body->div->button->button->div->body (先捕獲后冒泡)

2.事件偵聽函數的區別

IE 使用:

[Object].attachEvent("name_of_event_handler", fnHandler); //綁定函數[Object].detachEvent("name_of_event_handler", fnHandler); //移除綁定

DOM 使用:

[Object].addEventListener("name_of_event", fnHandler, bCapture); //綁定函數[Object].removeEventListener("name_of_event", fnHandler, bCapture); //移除綁定

bCapture 參數用于設置事件綁定的階段,true 為捕獲階段,false 為冒泡階段。

參與互動

歡迎分享轉載→http://www.avcorse.com/read-238661.html

Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號-5 TXT地圖HTML地圖XML地圖