js高階作業

2021-10-23 10:33:23 字數 701 閱讀 6231

工號: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...