javascript - setTimeout()和setInterval()的问题

查看:77
本文介绍了javascript - setTimeout()和setInterval()的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

图中箭头指的地方要不要写成timeShow(),或者"timeShow()"
好像都可以运行,那么加括号或双引号有什么区别吗?

解决方案

此处调取的是函数的指针,只支持3种形态

  1. 函数的名称

    var a = function(){
    };
    // 或者 
    function a() {}
    
    
    setInterval(a, 1000);

  2. 匿名函数

    setInterval(function(){
    }, 1000);

  3. 函数名的字符串

    var a = function(){
    };
    // 或者
    function a() {
    
    }
    
    setInterval("a", 1000);

你要记住foo()表示执行该函数,如果setInterval(foo(), 1000); 最终timer执行的是这个fooreturn

以上三种是官方建议的做法,如果你非要写成setInterval("a()",1000) 这种js的设计缺陷的代码,会给看你代码的人代码不少麻烦。

js的一些设计缺陷:http://www.ruanyifeng.com/blo...

比如:1+"10"

js的函数的类型很坑,是继承的Object

这篇关于javascript - setTimeout()和setInterval()的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆