以这种方式打电话提示是否可以:
prompt('Enter your text here');
而不是:
prompt('Enter your text here', '');
即。没有传递建议的输入?
答案 0 :(得分:6)
是的,没关系。
prompt
方法的第二个参数是可选(请参阅"window.prompt on MDN")。
根据ECMAScript规范(ECMA-262,第4.3.9节),undefined
的值被赋予一个没有赋值的变量。在prompt
方法中,将第二个参数保留为undefined
或将空字符串传递给它都无关紧要:两者都会导致空字符串作为提示中的默认值。
如果您想知道为什么这些信息不适用于W3C DOM这样的DOM标准,答案是它是一种非标准方法,“只是”浏览器通常支持(部分所谓的“ DOM Level 0“spec”。但是,即将推出的HTML 5可能会将提示符(window.prompt
)定义为标准方法(请参阅"6.4 User prompts")。
答案 1 :(得分:3)
在documentation on MDC中,第二个参数列为可选项。
value 是一个字符串,包含文本输入字段中显示的默认值。 这是一个可选参数。
答案 2 :(得分:3)
是的,第二个参数是可选的according to the HTML5 spec(我们目前最接近的是prompt
和alert
等规范:
prompt(message, default)
方法在调用时必须释放存储互斥锁,向用户显示给定的消息,并要求用户使用字符串值进行响应或中止。然后,当方法等待用户的响应时,用户代理必须暂停。 第二个参数是可选的。如果存在第二个参数(default
),则必须将响应默认为默认值。如果用户中止,则该方法必须返回null
;否则,该方法必须返回用户响应的字符串。
(我的重点)
答案 3 :(得分:3)
我认为答案是'是',直到我在IE7中看到,这将导致在输入框中预填充'undefined'。使用快速JSFiddle在IE7中自行尝试:http://jsfiddle.net/ALw6r/
编辑:从评论中看来,这似乎也在IE8中被打破了。
答案 4 :(得分:0)
是的,这是有效的JavaScript。正如w3schools在http://www.w3schools.com/jsref/met_win_prompt.asp上提及它是可选的