为什么会出现函数未定义?

<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>test</title>
    <script src="js/jquery.min.js"></script>
</head>

<body>
        <div class="xtsz">
            <div class="xtsz-con">
                <form action="" method="post" onsubmit="return user()">
                    <input type="text">
                    <button type="submit">提交</button>
                </form>
        </div>
    </div>
    <script type="text/javascript">
    $(function(){
        function user() {
        
        }
    })
    </script>
</body>

</html>

这样的编写方式为什么报user函数未定义?

阅读 5.8k
4 个回答

user定义在函数的内部,属于局部变量,外部不能调用

你的user是在这个快里面的

$(function(){
    })

而不是在顶级的

你定义在jquery的function里面 是局部方法 当然访问不到,拿出来

在以前版本的JS中,利用with或catch语句创造块级隔离环境,容易出现各种代码上或性能上的问题,通常是利用立即执行函数,伪造一个块级作用域出来。块级作用域内定义的东西,不会对其外层产生影响。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题