我嘗試對警報,但警報這麼想的工作如我所料低於線看:意外行爲
var tobealerted = function(){return 'worked!'};
現在
當我提醒這一點:
alert(tobealerted());
這將正常工作!現在
alert(tobealerted);
在此我刪除了括號。現在它提醒function(){return "worked"}
不worked!
現在我認爲這可能是JavaScript的一個功能,那麼我寫的,它會提醒任何文本沒有引號是:
alert(worked!)
,但谷歌的控制檯拋出異常worked!
是不確定的,所以我的思維是錯誤的。後來我又寫了這個
alert(function(){})
,你知道這是什麼驚動function(){}
!然後我認爲警報只會讓這樣的聲明在沒有引號的情況下被警示。然後再次寫道:
alert(if(){}) //if is not defined
alert(for(){}) //for is not defined
alert(while(){}) //while is not define
但這些並沒有奏效爲了這個,我搜查,發現了什麼,從我的搜索,我發現這個
函數是第一類對象
,並根據維基百科:
在計算機科學中,一種編程語言據說有 如果把功能當作一等公民來對待一流的功能。 具體而言,這意味着該語言支持傳遞功能 其他函數的參數,返回它們來自其他 函數的值,並將它們分配給變量或將它們存儲在數據 結構
所以我的問題是
爲什麼
alert
功能只允許function(){}
被驚動而不是其他
,如果你認爲這是因爲該函數是第一類對象的話,我不這麼認爲,因爲 我沒有這個功能(最後一個)分配給任何變量既不則返回alert(function(){})
我是什麼非常好奇,也很困惑! 謝謝!
['message'是您想要在警報對話框中顯示的可選字符串**,或者,也可以是轉換爲字符串並顯示**的對象。](https://developer.mozilla .org/en-US/docs/Web/API/Window.alert) – DCoder
*「我認爲它可能是javascript的一個功能,它會提醒任何文本而不用引號」*通過這種邏輯,輸出應該是'tobealerted'。 –