2012-09-22 17 views
0

例如,在Lua和Python:爲什麼相同的腳本語言不使用「var」字來聲明?

num = 3; 

在另一方面,其他語言,如JavaScript中使用「無功」:

var num = 3; 

我相信,使用「無功」字應該是快速解析「var num = 3」作爲變量聲明比「num = 3」(或者我錯了嗎?)。

那麼,爲什麼同樣的腳本語言不會在變量聲明中使用「var」字? 它不相關?

回答

2

的幾個可能的原因:

  1. 語義可能是不同的(例如在JavaScript foo = 1var foo = 1做不同的事情)
  2. 這可能需要對語言的語法(幫助解析器在多個解析樹之間消除歧義)
  3. 它可能在那裏,因爲語言的設計者決定以這種方式更一致地讀取數據(IIRC我從解析器的角度來看C#可能已經在隱式類型變量中刪除了var es,但保持它使得語言一致)
相關問題