工號:01316041 姓名:左飛
題目一:請使用es5實現以下**
es6(轉換前)
var handler =
, dosomething:
function
(type),}
;handler.
init()
;
解答:
es5(轉換後)
var handler =
,false);
},dosomething:
function
dosomething
(type)};
handler.
init()
;
解決思路:
題目中的es6規範的**和es5規範只要差別就在箭頭函式部分,(event) => this.dosomething(event.type)
,es6中的箭頭函式體內沒有自身的this,它的this是函式呼叫鏈作用域中的this,所以this.dosomething(event.type)
中的this就是init函式域中的this,我們在轉換為es5版本的js**時,可以先在init函式域中定義乙個_this的臨時變數,替換掉**this.dosomething(event.type)
中的this即可。
js 高階回顧js
1 js高階 什麼是面向過程的程式設計?比如輪播圖 我們第一件事情幹嘛 第二件事情幹嘛。什麼是物件導向的程式設計?比如輪播圖 先是分析裡面有哪些物件,再是分析如何實現物件的功能 成員 什麼是面向函式的程式設計?功能封裝,函式重複呼叫。要從面向過程的思路轉換成物件導向的程式設計 比較難的過程 2 js...
js 高階知識
1 caller 表示呼叫該函式的函式 function fun1 function fun2 fun2 11,22 11 2 function foo var foo new foo var p foo.prototype foo.prototype alert foo.constructor a...
js 高階知識
1 開啟乙個視窗就會有乙個window物件 如頁面上的iframe window中包含document,document主要是來操作dom元素的 頁面上的標籤元素 2 我們在頁面上宣告乙個全域性變數其實是宣告在window物件上的,eg var abc jy alert window.abc ale...