JavaScript:function myFunction(**这是什么**);

时间:2013-03-12 22:37:12

标签: javascript html function

使用javascript时,如果你在函数的括号中添加了一些东西,比如:

<button onclick="myFunction('Hello')">Click Here!</button>

并在JS中:

function myFunction(i);

运行时是否定义var i = "Hello",还是其他什么?

3 个答案:

答案 0 :(得分:3)

  

运行后是否定义var i =“Hello”,还是别的什么?

当调用发生时, "Hello"将传递给函数,该函数使用名为i参数接收它。因此,在功能代码中,引用i会为您提供值"Hello"

在您的示例中,当用户点击按钮时会进行调用,因为该点击会触发您定义的onclick属性中的代码。

答案 1 :(得分:0)

来自文档

  

每个执行上下文都有一个关联的VariableEnvironment。   在ECMAScript代码中声明的变量和函数在   执行上下文作为VariableEnvironment中的绑定添加   环境记录。对于功能代码,参数也会添加为   绑定到该环境记录。

有关完整文档,请参阅http://ecma-international.org/ecma-262/5.1/#sec-10.5

所以是的,它等同于绑定var i = "hello";,因为它们将对应于VariableEnviroment中执行上下文的相同条目。

您可以通过以下方式查看此操作:

function hello(i) {
  var i ="no hello"; 
  console.log(arguments[0]);
}

hello("hi")

>>"no hello"

答案 2 :(得分:0)

使用您的代码:

<button onclick="myFunction('Hello')">Click Here!</button>

function myFunction(i) {
    alert(i); // display the i value on this case «Hello» 
}

«i»是函数的参数/参数

现在,如果你通过再见改变你好,那么i值将仅仅是你的函数的“再见”

<button onclick="myFunction('Bye')">Click Here!</button>

function myFunction(i) {
    alert(i); // display «Bye» 
}
alert(i); // outside the function i is undefined ;)