扫码关注官方订阅号
在一个页面源码
这是声明一系列的javascript函数和变量吗?
这些函数如果在引入的js文件里,不是可以直接用吗?为何还要额外声明?另外,这里还有一个if语块,这表明 $(function() {}之间的东西不仅仅是声明,还包括要运行的语句?
$(function() {}之间的东西会在页面加载完毕后执行。
建议阅读jQuery文档。了解$(function(){})与window.onload区别;
《提问的艺术》
虽然你试图区分“声明”跟“执行”,虽然这是js的基本功,但是在这里显然没必要,$(function() {}之间的东西会在页面加载完毕后执行,你把声明挪到代码块之外,把执行放到代码块之内,当然也是可以的,不过纯属增加代码的阅读难度,而且需要跨作用域读取声明,百害无一利,为什么要拆开?
另外sSwiperFun();应该是一个叫sSwiper的组件,通常组件js文件只提供方法定义,不提供方法执行,因为它并不知道你需要在什么场合什么情况下执行。你说的“这些函数如果在引入的js文件里,不是可以直接用吗?为何还要额外声明?”并不是,sSwiperFun();是执行,不是声明。
$(function() {})就是$.ready(function(){})的简写形式。
$(function() {})
$.ready(function(){})
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
$(function() {}之间的东西会在页面加载完毕后执行。
建议阅读jQuery文档。了解$(function(){})与window.onload区别;
《提问的艺术》
虽然你试图区分“声明”跟“执行”,虽然这是js的基本功,但是在这里显然没必要,$(function() {}之间的东西会在页面加载完毕后执行,你把声明挪到代码块之外,把执行放到代码块之内,当然也是可以的,不过纯属增加代码的阅读难度,而且需要跨作用域读取声明,百害无一利,为什么要拆开?
另外sSwiperFun();应该是一个叫sSwiper的组件,通常组件js文件只提供方法定义,不提供方法执行,因为它并不知道你需要在什么场合什么情况下执行。你说的“这些函数如果在引入的js文件里,不是可以直接用吗?为何还要额外声明?”并不是,sSwiperFun();是执行,不是声明。
$(function() {})就是$.ready(function(){})的简写形式。