函数在Javascript中不起作用

函数在Javascript中不起作用,javascript,jquery,Javascript,Jquery,我在jQuery中有这个函数: $(document).ready(function(){ function MyFunction() {alert('Hello!');} }); (仅举个例子) 但是,我想用正则脚本调用这个函数: if(x == y){MyFunction();} (仅举个例子) 我不工作 但是,当我尝试时: function MyFunction(){alert('Hello!');} if(x == y){MyFunction();} (不带jQuery函数) 这是

我在jQuery中有这个函数:

$(document).ready(function(){ function MyFunction() {alert('Hello!');} });
(仅举个例子)

但是,我想用正则脚本调用这个函数:

if(x == y){MyFunction();}
(仅举个例子)

我不工作

但是,当我尝试时:

function MyFunction(){alert('Hello!');} if(x == y){MyFunction();}
(不带jQuery函数)

这是工作

为什么?

这一行:

if(x == y){MyFunction();}
也应该在
文档.ready
语句中

如果在外部调用,它将在实际定义函数之前运行,因此将失败。

此行:

if(x == y){MyFunction();}
也应该在
文档.ready
语句中

如果在外部调用,它将在实际定义函数之前运行,因此将失败。

此行:

if(x == y){MyFunction();}
也应该在
文档.ready
语句中

如果在外部调用,它将在实际定义函数之前运行,因此将失败。

此行:

if(x == y){MyFunction();}
也应该在
文档.ready
语句中


如果在外部调用它,它将在函数实际定义之前运行,因此它将失败。

如果将函数放在.ready()外部,并在ready函数中调用它,则它将工作,如果将它放在ready()中在ready之外调用它会给您一个错误,您可能会使用jQuery代码在ready状态之外声明一个函数,然后在内部调用它

    function MyFunction(){
    alert("hello!!");
    }
    //on ready
   $(document).ready(function(){
   if(x==y)
    MyFunction();
   });

如果将函数放在.ready()之外并在ready函数中调用它,它将工作;如果将函数放在ready()之外并在ready函数中调用它,它将给您一个错误,您可能会使用jQuery代码在ready状态之外声明一个函数并在内部调用它

    function MyFunction(){
    alert("hello!!");
    }
    //on ready
   $(document).ready(function(){
   if(x==y)
    MyFunction();
   });

如果将函数放在.ready()之外并在ready函数中调用它,它将工作;如果将函数放在ready()之外并在ready函数中调用它,它将给您一个错误,您可能会使用jQuery代码在ready状态之外声明一个函数并在内部调用它

    function MyFunction(){
    alert("hello!!");
    }
    //on ready
   $(document).ready(function(){
   if(x==y)
    MyFunction();
   });

如果将函数放在.ready()之外并在ready函数中调用它,它将工作;如果将函数放在ready()之外并在ready函数中调用它,它将给您一个错误,您可能会使用jQuery代码在ready状态之外声明一个函数并在内部调用它

    function MyFunction(){
    alert("hello!!");
    }
    //on ready
   $(document).ready(function(){
   if(x==y)
    MyFunction();
   });

我理解你这样的问题{但不太清楚你在找什么}

定义功能:

function MyFunction(){alert('Hello!');}
在文档准备就绪时调用它:

$(MyFunction);
现在,您可以随时使用:

if(x == y){MyFunction();}

我理解你这样的问题{但不太清楚你在找什么}

定义功能:

function MyFunction(){alert('Hello!');}
在文档准备就绪时调用它:

$(MyFunction);
现在,您可以随时使用:

if(x == y){MyFunction();}

我理解你这样的问题{但不太清楚你在找什么}

定义功能:

function MyFunction(){alert('Hello!');}
在文档准备就绪时调用它:

$(MyFunction);
现在,您可以随时使用:

if(x == y){MyFunction();}

我理解你这样的问题{但不太清楚你在找什么}

定义功能:

function MyFunction(){alert('Hello!');}
在文档准备就绪时调用它:

$(MyFunction);
现在,您可以随时使用:

if(x == y){MyFunction();}

Lesonchi说得对。问题是“范围”

$(document).ready(…)
调用接受一个函数,该函数是它自己的作用域(Javascript只有函数作用域)。因此,在传递给该调用的函数中定义的任何内容仅在该函数中可用

基于您的问题,我假设您希望能够在代码中的其他地方调用
MyFunction
方法,而不仅仅是在
$(document).ready()
-因此,在该调用之外定义它将赋予它“全局”范围,因此可以在代码中的其他地方使用:

function MyFunction(){ /* do something */ }

$(document).ready(function(){
  MyFunction();    // call it in this scope
});

// call it in 'global' scope
if (x == y) {
  MyFunction();
}

另请参见:

Lesonchi说得对。问题是“范围”

$(document).ready(…)
调用接受一个函数,该函数是它自己的作用域(Javascript只有函数作用域)。因此,在传递给该调用的函数中定义的任何内容仅在该函数中可用

基于您的问题,我假设您希望能够在代码中的其他地方调用
MyFunction
方法,而不仅仅是在
$(document).ready()
-因此,在该调用之外定义它将赋予它“全局”范围,因此可以在代码中的其他地方使用:

function MyFunction(){ /* do something */ }

$(document).ready(function(){
  MyFunction();    // call it in this scope
});

// call it in 'global' scope
if (x == y) {
  MyFunction();
}

另请参见:

Lesonchi说得对。问题是“范围”

$(document).ready(…)
调用接受一个函数,该函数是它自己的作用域(Javascript只有函数作用域)。因此,在传递给该调用的函数中定义的任何内容仅在该函数中可用

基于您的问题,我假设您希望能够在代码中的其他地方调用
MyFunction
方法,而不仅仅是在
$(document).ready()
-因此,在该调用之外定义它将赋予它“全局”范围,因此可以在代码中的其他地方使用:

function MyFunction(){ /* do something */ }

$(document).ready(function(){
  MyFunction();    // call it in this scope
});

// call it in 'global' scope
if (x == y) {
  MyFunction();
}

另请参见:

Lesonchi说得对。问题是“范围”

$(document).ready(…)
调用接受一个函数,该函数是它自己的作用域(Javascript只有函数作用域)。因此,在传递给该调用的函数中定义的任何内容仅在该函数中可用

基于您的问题,我假设您希望能够在代码中的其他地方调用
MyFunction
方法,而不仅仅是在
$(document).ready()
-因此,在该调用之外定义它将赋予它“全局”范围,因此可以在代码中的其他地方使用:

function MyFunction(){ /* do something */ }

$(document).ready(function(){
  MyFunction();    // call it in this scope
});

// call it in 'global' scope
if (x == y) {
  MyFunction();
}
另见: