国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

JS兩種定義Function非常常用的方法

2024-09-06 12:40:51
字體:
來源:轉載
供稿:網友

大家都知道javascript 有兩個種定義function的方法非常常用。例如

function a(){alert("a")}
var a = function(){alert("a")}

雖然兩個種方式定義出來的 function 調用的時候結果一樣,但是中間還是有區別的。舉個簡單的例子,假如我們要重定義 a() ,而且新的方法要繼承 a() 里面所有方法并且進行其他擴展的話。就可以明顯看到這兩個方式的區別了。

1. 首先,我們先建立一個臨時的變量來存儲 a()

   var b = a;

然后,重新定義a()

第一種方式:

function a(){
    b();
    alert("ok");
}

第二種方式:

a = function(){
    b();
    alert("ok");
}

這是大家可以嘗試發現。第一種方式重新定義的 a() 會出現堆棧溢出的錯誤。而第二種方式卻成功保留了原來 a() 所執行的腳本,成功 alert 出了 "a" "ok" 的字樣,說明 a() 的方法被重定義了。

這里就可以很明顯區分兩個方式的區別了。定義的順序不同。

第一種,剛開始其實沒有重新定義 a 這個function 而在里面執行了其本身。

第二種方式, a = function () 這里沒有執行到 function 里面的代碼 a 已經被重新定義了。所以這里的重定義是有效的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 烟台市| 仪征市| 张家港市| 亳州市| 卢湾区| 宿州市| 抚远县| 正宁县| 庆安县| 遂昌县| 泰安市| 望城县| 吉安县| 漯河市| 郴州市| 荆州市| 兴安盟| 霍城县| 曲阜市| 布尔津县| 洪雅县| 什邡市| 平遥县| 济南市| 墨脱县| 白朗县| 乌鲁木齐市| 资阳市| 石嘴山市| 图们市| 朝阳县| 三台县| 平江县| 阜城县| 白玉县| 绵竹市| 陕西省| 壤塘县| 永川市| 卓尼县| 稷山县|