JS筆記六(JS閉包 運動相關 ES6相關)

2021-09-03 10:25:14 字數 1632 閱讀 9094

閉包

閉包的第一層含義:訪問函式(冰箱)內部的變數(大象),可以通過在該函式定義另乙個函式(冰箱門,冰箱入口)來訪問。

通過在f1函式內部定義函式f2,從而可以訪問到f1內部定義的變數num.這是最簡單的閉包形式。

js閉包用途:1、乙個是可以讀取函式內部的變數

2、另乙個就是讓這些變數的值始終保持在記憶體中。

js運動相關:clientwidth:可視區域寬 width+(padding-left)+(padding-right)

clientheight;可視區域高

offsetwidth:佔位寬 width+(padding-left)+(padding-right)+border_width

offsetheight:佔位高

offsetleft: 表示元素到版式的左側距離或者offsetparent 值不為null的父元素的距離

scrollwidth :獲取物件的滾動寬度

scrollleft:左側卷起來的寬度

scrolltop: 上邊卷起來的高度

es6相關:

let var const

箭頭函式:

物件導向類的繼承:

class基本語法:

es5中使用建構函式定義並生成新的物件(模擬類-類繼承)

es6中引入了class(類)作為物件的模板:es6中的class是乙個語法糖(核心內容同es5)

與es5不同的是類內定義的方法是不可列舉的。

注意: 方法前不加function,方法之間不用逗號分隔,如果沒有寫constructor()方法,會新增乙個預設的constructor.
es6 class 靜態方法,靜態屬性靜態方法指的是class本身的方法,而不是定義在例項物件上的方法。

通過關鍵字static定義靜態方法,靜態方法中的this指向類本身。

class foo

}foo.classmethod(); /* 結果class foo

}*/var foo = new foo();

foo.classmethod(); //報錯uncaught typeerror: foo.classmethod is not a function

es6 class的繼承es6中通過class實現繼承的語法:extends

JS筆記 閉包

js中變數是function級作用域,也就是說,在function中定義的變數可以再function內部 包括內部定義的巢狀function中 使用,而在function外部無法使用,但是,js中,函式就是一塊儲存了現有資料的記憶體,是要找到這塊記憶體就可以進行呼叫。因此,如果想辦法獲取到內部的巢狀...

js小白之路(六) 閉包

閉包的作用是防止變數被篡改。實際的專案開發中,很有可能出現以下情景 多個人編寫專案的不同板塊,後來者極可能改掉專案中有實際作用的變數的值。為了避免這種情況的出現,我們需要採取一定的措施將變數 保護 起來,不能輕易被修改,這就利用了 閉包 var n 0 function getcount conso...

js相關語法基礎 6 閉包

高階函式除了可以接受函式作為引數以外,還可以把函式作為結果值返回。來實現乙個對array的求和。傳統方法。function sum arr console.log sum 1,2,3,4 不返回求和的結果,而返回求和的函式。function lazy sum arr return sum var f...