连续写了《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”按钮,弹出上面的窗口。
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0003/2752/2a3b7a0b-92d9-355d-a99c-f9fc168371f5-thumb.png)
- 大小: 29.2 KB
分享到:
相关推荐
一、高阶函数 定义:如果一个函数符合...常见的高阶函数有:Promise、setTimeout、arr.map() 等。 二、函数的柯里化 通过函数调用继续返回函数的方式,实现多次接受参数最后统一处理的函数编码形式,叫做函数的柯里化。
如果直接写成`setInterval(this.myFunc(), 2000)`,则`this.myFunc`会立即执行一次,并将其返回值(如果有的话)设置为定时器的回调函数。而正确的方式应该是`setInterval(this.myFunc, 2000)`,这样才能传递函数...
- **返回值:** 返回一个句柄,该句柄将用于后续的API调用中。 #### 2. cnc_freelibhndl - 释放库句柄 **简要描述:** 当不再需要使用某个库句柄时,可以通过此函数来释放它,以节省系统资源。 - **适用版本:** ...
在 javascript 中,有两个重要的定时执行函数,即 setInterval 和 setTimeout。这两个函数都可以用来执行某个函数或表达式,但它们之间有一些关键的区别。 首先,让我们来看看 setInterval 函数。setInterval 函数...
在JavaScript中,函数被视为一等公民,即它们可以作为变量存储、传递给其他函数或作为其他函数的返回值。高阶函数就是能够接受函数作为参数或者返回函数的函数。回调函数就是利用这一特性来处理异步编程问题,特别是...
在JavaScript中,setTimeout和setInterval函数的工作方式类似,但回调函数的参数和返回值略有不同: ```javascript function timerCallback() { // 这里编写定时器触发时的代码 // ... } // 设置一个1秒后执行一...
1. `setTimeout()`: 定时器函数,用于在指定的毫秒数后执行一个函数或表达式。 2. `clearTimeout()`: 取消已设置的定时器。 3. `setInterval()`: 重复执行一个函数,直到被`clearInterval()`清除。 六、事件处理 ...
虽然`setTimeout`和`setInterval`都用于延迟执行代码,但它们之间有一个关键的区别:`setInterval`会重复执行指定的函数,直到被清除或窗口关闭;而`setTimeout`仅执行一次。 ##### 4.1 `window.setInterval()`基本...
上述代码尝试通过直接调用`getSomething()`函数并返回值,但由于`setTimeout()`是异步的,最终`compute()`函数中获取到的`x`值为0。 2. 回调函数 为了解决这个问题,JavaScript提供了一种回调函数的方法。回调函数...
回调函数的核心在于,它不是直接被调用,而是被另一个函数在特定时机或事件发生时执行。这种机制使得我们能够在执行某些操作后,按需执行相应的逻辑。 在JavaScript中,回调函数通常用于处理异步操作,例如在Ajax...
函数定义有两种主要方式:函数声明和函数表达式。函数声明如`function myFunction() {}`,会被提前到当前作用域的顶部。而函数表达式如`var myFunction = function() {}`或`let myFunction = function() {}`,则不会...
2. **函数参数与返回值**:函数可以接受参数,这些参数在函数内部被用来执行特定任务。同时,函数也可以返回一个值,作为执行结果传递给调用者。这对于数据处理和计算来说至关重要。 3. **匿名函数与立即执行函数**...
JavaScript函数是编程语言...以上只是JavaScript函数基础知识的一部分,实际应用中还有更多高级概念,如函数组合、柯里化、尾调用优化等。深入理解并熟练运用JavaScript函数,对于提升编程技能和编写高效代码至关重要。
总结来说,要实现“同步”的`setTimeout`并有返回值,通常需要结合Promise、async/await或者Generator等技术,利用事件循环机制和微任务来处理异步操作的结果。在实际编程中,应根据具体需求选择最适合的方法。
例如,`setTimeout`函数接受一个回调函数作为第一个参数,这个函数将在指定的时间后被调用。 7. 立即执行函数表达式 (IIFE) IIFE是一种立即执行的函数,用于创建私有作用域,防止变量和函数污染全局空间。例如 `...
7. **原型链与继承**: JavaScript通过原型实现继承,每个对象都有一个`__proto__`属性,指向创建它的构造函数的原型。继承是通过`prototype`对象和`Object.create()`方法实现的。 8. **多态**: 多态是指同一消息...
`setTimeout`和`setInterval`是JavaScript中用于实现延时和周期性任务的两个核心方法,但是它们在调用时都有一些特殊的要求,特别是当需要在这些方法中执行的函数需要参数时。 描述中提到,无论是在`window....
JavaScript中的函数是一段可重用的代码块,可以接受参数并返回值。作用域定义了变量的可访问性,主要分为全局作用域和局部作用域。 **2.1 示例:函数定义与作用域** ```javascript // 定义函数 function greet...
4. **链式调用**:在对象方法中,通过回调函数实现链式调用,即使在没有返回值的情况下也能保持链式调用的连贯性。 5. **Node.js中的事件驱动**:Node.js的非阻塞I/O模型依赖于回调函数,以避免阻塞事件循环。 三、...