1. 函式宣告與函式表示式
解析器在像執行環境中載入資料時,會先讀取函式宣告,並使其在執行任何**之前都可以訪問,對於函式表示式,必須等到解析器執行到它所在的**行,才會真正被執行。
例:
alert(sum(10,10));function
sum(n,m)
以上**可以正常執行,因為解析器通過函式宣告提公升的過程,讀取並將函式宣告新增到執行環境中。
而當使用函式表示式時:
alert(sum(10,10));var sum = function
(n,m)
程式在執行到函式所在的語句之前,變數sum中不會儲存對函式的引用,而且第一句話就會導致"unexpect identifier"(意外識別符號)錯誤,並不會繼續執行。
除了什麼時候可以通過變數訪問函式之外,函式宣告與函式表示式的語法其實是等價的。
一些知識點總結
mysql資料庫中varchar和char的區別 1 varchar的長度是可變的,char的長度不可變。2 儲存時,char型別的資料要比varchar型別的資料速度更快,因為其長度固定,方便儲存於查詢。3 從儲存空間的角度講,因為插入型別資料的長度固定,有時候需要用空格進行佔位,所以儲存資料時占...
JS的一些知識點
my97 日期 swiper 輪播 使用地方 大資料列表中沒條資料的某個字段值上加乙個事件 可以迴圈遍歷,會在每一條上都加乙個事件,影響效能 可以使用冒泡機制,針對一條資料加這個事件,先parent,然後child。事件觸發順序變更為自外向內,這就是事件捕獲。var datastr 1,2,3,4,...
一些知識點
字串拼接 1.a join b a為元素之間的分隔符,b為待分割的序列 可用於輸出時的資料處理,元素間有空格,末尾沒有 2 s s s str1,str2,str3 前半部分為字串,後半部分為索引。用於引入,s是物件 3.format str1,str2,str3 與f 括號裡為已有變數 關於for...