在第一个代码块中,我定义了它应该具有的功能。
var name = prompt("Name");
var surname = prompt("Surname");
function decirHola(name, surname) {
var mensaje = "Hola, " + name + " " + surname;
return mensaje;
}
document.write(decirHola(name, surname));
在第二个代码块中,我使用参数的参数作为变量来存放名称和姓氏
function decirHola(name, surname) {
var mensaje = "Hola, " + name + " " + surname;
return mensaje;
}
name = prompt("Name");
surname = prompt("Surname");
document.write(decirHola(name, surname));
答案 0 :(得分:0)
第一个很好,您已经声明了变量,创建了一个接受两个args并返回结果的函数。然后,使用已声明的两个变量执行该函数,然后返回要写入文档的结果。从概念上讲,您所做的事情没有错。
第二,实际上是相同的,除了您已经创建了全局变量,而不是局部作用域。除非真正需要使用全局变量,否则请远离它们
不要在函数声明和函数执行之间混淆,在这种情况下,由于hoisting
,函数声明与用法的顺序无关紧要答案 1 :(得分:0)
在第二个代码块中,我使用参数的参数作为变量来存放名称和姓氏
看起来好像不一样。在decirHola
的范围之外,变量name
和surname
不存在。看起来好像您在使用非严格模式的快捷方式“没有先明确声明就分配给变量”。
不要。第一个版本是正确的方法。