Javascript,调用函数



在以前的帮助中,我使用的是这样的东西:

(function (global) {
  // your code here
  global.myGlobalVar = myVar
}(this));

这对变量很有效,但我如何对函数做到这一点?

例如,我尝试过这个:

(function (global) {
  function something()
{
// do something, return something
}
  global.something()= something();
}(this));

但这不起作用:(

如何使它与函数一起工作?

谢谢!

编辑:

请注意,这是在html页面中调用的,首先我这样做:

<script language="Javascript" src="four.js">

然后

<body onload="javascript:something()">

如果你想声明一个函数,你不应该执行。所以删除()

(function (global) {
  function something()
{
// do something, return something
}
  global.something = something; // something is the variable
                                // containing the function and
                                // you store it into global

}(window));

在Javascript中,函数可以存储在变量中(因为它基本上是一个对象(。

你可以使用闭包做这样的事情:

(function (global) {
  global.something= function () {
      // do something, return something
  };
}(this));

记住,如果你在函数名后面写(),就意味着你在执行它。如果你想传递函数本身,只需写它的名称。

考虑这个例子:

var x = something(); //x will hold the RETURN value of 'something'
var y = something; //y will hold a reference to the function itself

所以在做了第二个例子之后,你可以做:var x = y();,如果你只是简单地做了第一个例子,它实际上会给你同样的结果。

(function (global) {
  global.something = function()
  {
    // do something, return something
  }
}(this));

更新问题:

<body onload="javascript:something()">

这行不通。试试这个:

<body onload="something()">

相关内容

  • 没有找到相关文章

最新更新