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

$(function() {}之间列举一系列的函数和变量是声明javascript变量和函数吗?

$(function() {}之间列举一系列的函数和变量是声明javascript变量和函数吗?

小怪兽爱吃肉 2018-10-12 15:10:46
在一个页面源码<body>块底部看到    <script>         $(function() {             sSwiperFun(); //幻灯片调取             upSlideFun("#iQuestion"); //向上滚动互动             scrollLoad(); //响应滚动加载课程图片             $(".boutiqueCourse").click();//网校课程-精品课程             huanyihuan();             studentDynamic();//学生动态             var uri = window.location.search;            var val = "msg";                         var re = new RegExp("" + val + "=([^&?]*)", "ig");                         var msg=((uri.match(re)) ? (uri.match(re)[0].substr(val.length + 1)) : null);                         if(msg!=null && msg!='' && msg=='LimitLogin'){                 dialog('提示信息',"您的帐号在其他地点登录,请重新登录",1);             }         });    </script>这是声明一系列的javascript函数和变量吗?这些函数如果在引入的js文件里,不是可以直接用吗?为何还要额外声明?另外,这里还有一个if语块,这表明 $(function() {}之间的东西不仅仅是声明,还包括要运行的语句?
查看完整描述

1 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

虽然你试图区分“声明”跟“执行”,虽然这是js的基本功,但是在这里显然没必要,$(function() {}之间的东西会在页面加载完毕后执行,你把声明挪到代码块之外,把执行放到代码块之内,当然也是可以的,不过纯属增加代码的阅读难度,而且需要跨作用域读取声明,百害无一利,为什么要拆开?

另外sSwiperFun();应该是一个叫sSwiper的组件,通常组件js文件只提供方法定义,不提供方法执行,因为它并不知道你需要在什么场合什么情况下执行。你说的“这些函数如果在引入的js文件里,不是可以直接用吗?为何还要额外声明?”并不是,sSwiperFun();是执行,不是声明。


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

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信