js面試題關於this指向分析
分析以下問題的列印結果及原因:
1、
let num = 10;
function fn() {
console.log(this.num);
}
let obj = {
num:5,
method: function(fn) {
fn();
arguments[0]();
}
};
obj.method(fn,1)
//輸出10 undefined
分析:在ES5及之前,js中函式的呼叫者是誰,函式的this就指向誰。第一次執行fn()時,函式的this指向的是全域性的window,因此列印10。當arguments
2、
相關推薦
js面試題關於this指向分析
分析以下問題的列印結果及原因: 1、 let num = 10; function fn() { console.log(this.num); } let obj = {
剛看到一道JS面試題,關於this指向的問題,很有意思,記錄一下
感謝@百里乘風、@qq_43146937指出的文章中的錯誤。 let宣告變數會形成塊級作用域,且不存在宣告提升,而var存在宣告提升。所以當使用let宣告變數時,不存在宣告提升,length屬性實際上並沒有新增到window物件中。從下面的例子可以看出 所以原文程式碼
js面試題,關於變量提升,作用域,全局變量
fine log js面試 提升 per nbsp lin undefine 變量 /**********seperate line************/ var a = 10; function test() { a = 100; cons
了解Js中的this指向
理解 per pre ron document 它的 執行環境 col .sh Js中的this對象是在運行時基於函數的執行環境綁定的,其中的this指向很不好理解,一不小心就用錯了位置;。 this的指向在函數定義的時候是確定不了的,只有函數執行的時候才能確定th
關於一道JS面試題的思考
ges 會有 作用 初學 沒有 使用 很好 obj 值傳遞 題目: for (var i = 0; i < 5; i++) { setTimeout(function() { console.log(new Date, i); },
整理出來的前端js面試題
禁止 如何改變 產生 字符串 避免 得到 作用 擴展 如何 15、HTTP狀態碼 100 Continue 繼續,一般在發送post請求時,已發送了http header之後服務端將返回此信息,表示確認,之後發送具體參數信息 200 OK 正常返回信
js面試題知識點全解(一作用域和閉包)
foo true 方式 聲明 提升 function 這樣的 all 變量提升 問題: 1.說一下對變量提升的理解 2.說明this幾種不同的使用場景 3.如何理解作用域 4.實際開發中閉包的應用 知識點: js沒有塊級作用域只有函數和全局作用域,如下代碼: if(tru
js面試題-----作用域與閉包
code 生命 結果 bin 聲明 click 函數 i++ spa 1、問題代碼: var length = 10; function fn(){ console.log(this.length); } var obj = { length:5,
js面試題-----DOM操作和BOM操作
dom 數據 prop 樹形 結構 獲取 protocol earch 部分 題目1:DOM是哪種基本的數據結構 答案:DOM是一種樹形結構的數據結構 題目2:DOM操作的常用API有哪些 答案:獲取DOM節點,以及節點的property和Attribute。獲取父節點,獲
js面試題-----通信類
log 技術分享 sof 事件 嵌入 sage list 通信 als 題目1:什麽是同源策略及限制 題目2:前後端如何通信 Ajax WebSocket CORS 題目3:如何創建Ajax XMLHttpRequest對象的工作流程 兼容性處理
js面試題1
for gif 其他 繼承 返回值 reat 前插 document 數據交換 1.介紹js的基本數據類型 Undefined、Null、Boolean、Number、String 2.js有哪些內置對象? 數據封裝類對象:Object、Array、Boolean、Numb
js面試題之求數組最值
pre 面試 可能 cti clas return n) ole arr 今天繼續分享js常見的面試題,求數組最大值,最小值,這裏列舉4種常見解法,還有其他方法也可以實現,讀者知道可以私信我,我將把意見列舉到博客中,歡迎提出意見。 第一種,利用數組排序 1 var arr
JS面試題
urn settime 銷毀 dom set ons -1 執行 blog for(var i = 0; i < 5; i++) { setTimeout(function() { console.log(i); }); } for
前端第四課——JS面試題
json 數據 面試題 win javascrip 圖片 cti ges 基本數據 筆試題 1.JavaScript的基本數據類型 2.["1","2","3"].map(parseInt)答案? 3.JavaScript中如何將JSON轉化成對象/數組?怎麽轉回來? 4.
js 面試題
表現 區別 ech 計算 如何 編寫 dom 一個 利用 1.截取字符串abcdace的acealert(‘abcdace‘.substring(4)); 2.規避javascript多人開發函數重名問題命名空間封閉空間js模塊化mvc(數據層、表現層、控制層)seajs變
JS中的this指向問題
too 而是 call logs strong javascrip log 方法 手動 原博客:https://www.cnblogs.com/pssp/p/5216085.html 首先必須要說的是,this的指向在函數定義的時候是確定不了的,只有函數執行的時候才能確
js中關於this指向的問題的簡單總結
ima efi tex PE 解決 size watermark 問題 fin 1:在全局作用域下 this對象指向的是window對象例如:結果如下:2:在函數作用域下 在非嚴格模式下: this的指向依舊是window對象例如:結果如下:在嚴格模式下:this的指向
vue.js面試題整理
res rate 分享 變量 部分 及其 修改 use 取數據 Vue.js面試題整理 一、什麽是MVVM? MVVM是Model-View-ViewModel的縮寫。MVVM是一種設計思想。Model 層代表數據模型,也可以在Model中定義數據修改和操作的業務邏輯;Vi
C++&C面試題100道分析(61-80)
數字函數 struct tr1 cls light 什麽 地址 全局 編寫 61.字符指針、浮點數指針、以及函數指針這三種類型的變量哪個占用的內存最大?為什麽? 指針變量占有的空間是固定的,他和計算機操作系統的位數有關系。 62.構造函數可否是虛函數,為什麽?析構函
一道考察運算子優先順序的JS面試題
文章目錄 題目 分析 1. Foo.getName() 2 .getName 3. Foo().getName() 4. getName()