一个基础的问题 多个$(function(){})里面的函数 为什么在下一个$(function(){})里没法执行。

Posted 盖大楼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个基础的问题 多个$(function(){})里面的函数 为什么在下一个$(function(){})里没法执行。相关的知识,希望对你有一定的参考价值。

先看下例子

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="jquery-1.10.2_d88366fd.js"></script>
    </head>
    <body>
        <script>
            $(function(){
                function console1(){
                    console.log(‘js1:console1‘);
                }
            })
        </script>
        <script>
            $(function(){
                console1();
            })
        </script>
    </body>
</html>

这样写 console1函数无法执行报错,说没找到console1函数。

想了半天,原来每个$(function(){})都是一个函数,函数都有自己的作用域,匿名函数相当于私有的函数,要把匿名函数改成 全局函数就可以在下面用了。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="jquery-1.10.2_d88366fd.js"></script>
    </head>
    <body>
        <script>
            var console1;
            $(function(){
                console1=function (){
                    console.log(‘js1:console1‘);
                }
            })
        </script>
        <script>
            $(function(){
                console1();
            })
        </script>
    </body>
</html>

 

以上是关于一个基础的问题 多个$(function(){})里面的函数 为什么在下一个$(function(){})里没法执行。的主要内容,如果未能解决你的问题,请参考以下文章

python基础6(函数 Ⅰ)

bootstrap添加多个模态对话框支持

Jquery2 基础核心

你能有多个 $(document).ready(function() ... );部分?

高阶函数

Touch Function 方法中的多个函数 Sprite Kit