Js中static關(guān)鍵字的作用
在JavaScript中,static關(guān)鍵字用于定義靜態(tài)方法或靜態(tài)屬性。靜態(tài)方法和屬性是與類關(guān)聯(lián)的,而不是與類的實(shí)例對(duì)象關(guān)聯(lián)的,因此可以通過(guò)類本身來(lái)調(diào)用這些方法或?qū)傩裕恍枰葎?chuàng)建類的實(shí)例對(duì)象。
靜態(tài)方法和屬性可以用于實(shí)現(xiàn)與類相關(guān)的全局操作或全局變量,或者用于封裝一些工具函數(shù)或工具屬性。靜態(tài)方法和屬性的定義方式如下:
靜態(tài)方法:
可以通過(guò)類本身調(diào)用靜態(tài)方法:
靜態(tài)屬性:
可以通過(guò)類本身訪問(wèn)靜態(tài)屬性:
需要注意的是,靜態(tài)方法和屬性不可以通過(guò)類的實(shí)例對(duì)象來(lái)訪問(wèn),否則會(huì)拋出錯(cuò)誤。例如:
此外,static關(guān)鍵字還可以用于嵌套類的定義,即在類中定義一個(gè)嵌套類,也可以在嵌套類中定義靜態(tài)方法和屬性。例如:
在上述例子中,InnerClass是一個(gè)嵌套類,它定義了一個(gè)靜態(tài)方法innerStaticMethod()。我們可以通過(guò)OuterClass.InnerClass來(lái)訪問(wèn)嵌套類,并且可以通過(guò)嵌套類的類名來(lái)調(diào)用靜態(tài)方法。