为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 JQ 函数里写 JS 代码运行不了?

为什么 JQ 函数里写 JS 代码运行不了?

慕少森 2018-08-26 08:09:54
已经引入JQ文件<script type="text/javascript">         $(function() {            var time = setInterval("clock()", 3000);                     function clock() {                for(i = 0; i < 2; i++) {                     alert(i);                 }             }         })    </script>这样就可以<script type="text/javascript">                 var time = setInterval("clock()", 3000);                     function clock() {                    for(i = 0; i < 2; i++) {                         alert(i);                     }                 }        </script>
查看完整描述

1 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

两种方法:

可以setInterval("clock()", 3000) =>setInterval(clock, 3000)

或者

要让你那个原来可以的话也可以尝试下面这个:

        $(function() {            var time = setInterval("clock()", 3000);


           
        })                    function clock() {                for(i = 0; i < 2; i++) {
                    alert(i);
                } }

定义全局函数clock


原因就是传入代码段的时候是类似eval方式执行的 而你原来的代码clock函数在函数作用域内 全局变量window下没有clock函数

setInterval(clock, 3000)可以的原因是 这语句和函数clock定义在一个函数作用域内 当然能访问到clock了


查看完整回答
反对 回复 2018-10-14
  • 1 回答
  • 0 关注
  • 792 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号