一些js知識點總結

1. 函數聲明與函數表達式ide

  解析器在像執行環境中加載數據時,會先讀取函數聲明,並使其在執行任何代碼以前均可以訪問,對於函數表達式,必須等到解析器執行到它所在的代碼行,纔會真正被執行。函數

  例:   spa

alert(sum(10,10));
function sum(n,m){
   return n + m;          
}

   以上代碼能夠正常運行,由於解析器經過函數聲明提高的過程,讀取並將函數聲明添加到執行環境中。code

  而當使用函數表達式時:blog

alert(sum(10,10));
var sum = function (n,m){
   return n + m;          
}

  程序在執行到函數所在的語句以前,變量sum中不會保存對函數的引用,並且第一句話就會致使 "unexpect identifier"(意外標識符)錯誤,並不會繼續執行。io

  除了何時能夠經過變量訪問函數以外,函數聲明與函數表達式的語法實際上是等價的。function

相關文章
相關標籤/搜索