相关疑难解决方法(0)

JavaScript中的函数表达式与声明有什么区别?

以下代码行之间有什么区别?

//Function declaration
function foo() { return 5; }

//Anonymous function expression
var foo = function() { return 5; }

//Named function expression
var foo = function foo() { return 5; }
Run Code Online (Sandbox Code Playgroud)
  • 什么是命名/匿名函数表达式?
  • 什么是声明的功能?
  • 浏览器如何以不同方式处理这些结构?

对类似问题(var functionName = function(){} vs function functionName(){})的响应是不是完全正确?

javascript

469
推荐指数
4
解决办法
15万
查看次数

虽然未定义变量 - 等待

我有一个click事件是第一次自动从另一个地方触发.我的问题是它运行得太快,因为Flash和Web服务仍然定义了所需的变量.所以现在我有:

(function ($) {
    $(window).load(function(){
        setTimeout(function(){
            $('a.play').trigger("click");
        }, 5000);
    });
})(jQuery);
Run Code Online (Sandbox Code Playgroud)

问题是互联网连接速度慢的人5秒钟可能太快,反之亦然,对于网速较快的人来说,速度太慢.

那么在someVariable定义之前我应该​​怎么做延迟或超时?

variables jquery timeout delay

48
推荐指数
5
解决办法
9万
查看次数

jQuery文档就绪和功能范围

我想提供辅助函数,允许复杂的基于jQuery的UI的各种组件隐藏或显示加载div(在从页面的各个部分启动Ajax调用时使用).

为此,我最初编写了这样的代码:

<script type="text/javascript">
$(function ()
{
    var loadingControl = $("#loading");

    function showLoading() {
        loadingControl.show();
    }
}
</script>
Run Code Online (Sandbox Code Playgroud)

但是,我很快意识到showLoading仅在该特定文档中的范围内准备好.

遵循建议

/sf/answers/73905961/

我在全局范围内声明了showLoading,如下所示:

<script type="text/javascript">
var showLoading;
$(function ()
{
    var loadingControl = $("#loading");

    function showLoading() {
        loadingControl.show();
    }
}
</script>
Run Code Online (Sandbox Code Playgroud)

但是,我仍然发现showLoading在稍后执行的文档就绪块中不可用.错误是

属性"showLoading"的值为null或undefined,而不是Function对象

这种行为可以在这里看到:

http://jsfiddle.net/NfXFT/4/

jsFiddle还证明showLoading实现的文档就可以在调用它的文档就绪块之前运行.

出了什么问题,我怎样才能使这个辅助方法可用?

我在文档就绪块中定义它,因为它依赖于'#loading'可用.是否有更好的方法来实现提供辅助功能来隐藏/显示加载屏幕的相同目标?我想将它保存在辅助函数中,因为实现可能会在以后更改.

jquery

3
推荐指数
1
解决办法
1338
查看次数

为什么在调用时没有定义document.ready()中声明的函数?

这是我的HTML/JavaScript:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
    <script type="text/javascript" src="/script/jquery.js"></script>
    <script type="text/javascript">
        $(function(){
            var $str = "hello world";

            function foo() {
                alert($str);
            }
        });
    </script>
</head>
<body>
    <form name="statusUpdateForm" method="post">
        <input type="button" name="submitButton" value=" " onclick="foo();" />
    </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

当我单击按钮时,我收到一个JavaScript错误,指出foo未定义.如何调用document.ready()中声明的JavaScript函数?

javascript methods jquery undefined

2
推荐指数
1
解决办法
5691
查看次数

标签 统计

jquery ×3

javascript ×2

delay ×1

methods ×1

timeout ×1

undefined ×1

variables ×1