`
holdbelief
  • 浏览: 709584 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

setTimeout调用有返回值的函数

阅读更多

    连续写了《setTimeout的一些体会》、《setTimeout和setInterval》两篇,又想到如果setTimeout()函数如果调用的函数又返回值的话如何接收这个返回值呢?
    写了个例子:
<html>
<head>
<title>setTimeout调用又返回值的函数</title>
<script language="javascript" type="text/javascript">
    var retValue = "";

    function test()
    {
        return "哈哈哈哈哈";
    }

    function clickButton1()
    {
        var iTimeoutId = setTimeout("retValue = test() ",1000);
    }
   
    function clickButton2()
    {
        alert(retValue);
    }
   
</script>
</head>
<body>
    <input type="button" onclick="clickButton1()" value="button1">
    <input type="button" onclick="clickButton2()" value="button2">
</body>
</html>


点击“button1”之后1秒后,再点击“button2”按钮,弹出上面的窗口。

  • 大小: 29.2 KB
分享到:
评论
3 楼 kimmking 2008-07-31  
var retValue = '';  可以去掉

IE和FF中都通过
2 楼 zbm2001 2008-07-30  
就是让 retValue = test() 赋值表达式在一秒后执行。
1 楼 hozaka 2008-07-30  
我觉得应该标红的是
var retValue = '';

在函数之外(全局范围)定义了一个变量,并且将第一个函数的返回值赋予这个变量。因为作用域比两个函数都大,所以第二个函数也能访问到

相关推荐

    高阶函数-函数柯里化- 手写

    一、高阶函数 定义:如果一个函数符合...常见的高阶函数有:Promise、setTimeout、arr.map() 等。 二、函数的柯里化 通过函数调用继续返回函数的方式,实现多次接受参数最后统一处理的函数编码形式,叫做函数的柯里化。

    解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题

    如果直接写成`setInterval(this.myFunc(), 2000)`,则`this.myFunc`会立即执行一次,并将其返回值(如果有的话)设置为定时器的回调函数。而正确的方式应该是`setInterval(this.myFunc, 2000)`,这样才能传递函数...

    FANUC_focas函数库(全)(中文版).pdf

    - **返回值:** 返回一个句柄,该句柄将用于后续的API调用中。 #### 2. cnc_freelibhndl - 释放库句柄 **简要描述:** 当不再需要使用某个库句柄时,可以通过此函数来释放它,以节省系统资源。 - **适用版本:** ...

    js中的setInterval和setTimeout使用实例.docx

    在 javascript 中,有两个重要的定时执行函数,即 setInterval 和 setTimeout。这两个函数都可以用来执行某个函数或表达式,但它们之间有一些关键的区别。 首先,让我们来看看 setInterval 函数。setInterval 函数...

    js回调函数.doc文档

    在JavaScript中,函数被视为一等公民,即它们可以作为变量存储、传递给其他函数或作为其他函数的返回值。高阶函数就是能够接受函数作为参数或者返回函数的函数。回调函数就是利用这一特性来处理异步编程问题,特别是...

    定义timer回调函数的方法

    在JavaScript中,setTimeout和setInterval函数的工作方式类似,但回调函数的参数和返回值略有不同: ```javascript function timerCallback() { // 这里编写定时器触发时的代码 // ... } // 设置一个1秒后执行一...

    Javascript函数帮助手册

    1. `setTimeout()`: 定时器函数,用于在指定的毫秒数后执行一个函数或表达式。 2. `clearTimeout()`: 取消已设置的定时器。 3. `setInterval()`: 重复执行一个函数,直到被`clearInterval()`清除。 六、事件处理 ...

    JavaScript_window.setTimeout()_的详细用法

    虽然`setTimeout`和`setInterval`都用于延迟执行代码,但它们之间有一个关键的区别:`setInterval`会重复执行指定的函数,直到被清除或窗口关闭;而`setTimeout`仅执行一次。 ##### 4.1 `window.setInterval()`基本...

    获取JavaScript异步函数的返回值

    上述代码尝试通过直接调用`getSomething()`函数并返回值,但由于`setTimeout()`是异步的,最终`compute()`函数中获取到的`x`值为0。 2. 回调函数 为了解决这个问题,JavaScript提供了一种回调函数的方法。回调函数...

    javascript回调函数详解参考.docx

    回调函数的核心在于,它不是直接被调用,而是被另一个函数在特定时机或事件发生时执行。这种机制使得我们能够在执行某些操作后,按需执行相应的逻辑。 在JavaScript中,回调函数通常用于处理异步操作,例如在Ajax...

    函数和window对象

    函数定义有两种主要方式:函数声明和函数表达式。函数声明如`function myFunction() {}`,会被提前到当前作用域的顶部。而函数表达式如`var myFunction = function() {}`或`let myFunction = function() {}`,则不会...

    javascript经典特效---函数计算.rar

    2. **函数参数与返回值**:函数可以接受参数,这些参数在函数内部被用来执行特定任务。同时,函数也可以返回一个值,作为执行结果传递给调用者。这对于数据处理和计算来说至关重要。 3. **匿名函数与立即执行函数**...

    JavaScript函数汇总

    JavaScript函数是编程语言...以上只是JavaScript函数基础知识的一部分,实际应用中还有更多高级概念,如函数组合、柯里化、尾调用优化等。深入理解并熟练运用JavaScript函数,对于提升编程技能和编写高效代码至关重要。

    js代码-同步的 setTimeou 并有返回值

    总结来说,要实现“同步”的`setTimeout`并有返回值,通常需要结合Promise、async/await或者Generator等技术,利用事件循环机制和微任务来处理异步操作的结果。在实际编程中,应根据具体需求选择最适合的方法。

    js代码-函数的调用

    例如,`setTimeout`函数接受一个回调函数作为第一个参数,这个函数将在指定的时间后被调用。 7. 立即执行函数表达式 (IIFE) IIFE是一种立即执行的函数,用于创建私有作用域,防止变量和函数污染全局空间。例如 `...

    JavaScript实用小函数(一)

    7. **原型链与继承**: JavaScript通过原型实现继承,每个对象都有一个`__proto__`属性,指向创建它的构造函数的原型。继承是通过`prototype`对象和`Object.create()`方法实现的。 8. **多态**: 多态是指同一消息...

    JQuery中SetTimeOut传参问题探讨

    `setTimeout`和`setInterval`是JavaScript中用于实现延时和周期性任务的两个核心方法,但是它们在调用时都有一些特殊的要求,特别是当需要在这些方法中执行的函数需要参数时。 描述中提到,无论是在`window....

    JavaScript:异步编程:回调函数与Promise

    JavaScript中的函数是一段可重用的代码块,可以接受参数并返回值。作用域定义了变量的可访问性,主要分为全局作用域和局部作用域。 **2.1 示例:函数定义与作用域** ```javascript // 定义函数 function greet...

    浅析JavaScript回调函数应用_.docx

    4. **链式调用**:在对象方法中,通过回调函数实现链式调用,即使在没有返回值的情况下也能保持链式调用的连贯性。 5. **Node.js中的事件驱动**:Node.js的非阻塞I/O模型依赖于回调函数,以避免阻塞事件循环。 三、...

Global site tag (gtag.js) - Google Analytics