我正在尝试警报,但警报没有按我预期的那样工作,请看以下几行:
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(){})
我很好奇也很困惑!谢谢!