在一个页面源码<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();是执行,不是声明。
添加回答
举报
0/150
提交
取消