您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

JS自执行函数与jQuery扩展使用方法

2025/7/9 12:40:24发布22次查看
这次给大家带来js自执行函数与jquery扩展使用方法,js自执行函数与jquery扩展的注意事项有哪些,下面就是实战案例,一起来看一下。
我们通常将js代码写在一个单独的js文件中,然后在页面中引入该文件。但是,有时候引入后会碰到变量名或函数名与其它js代码冲突的问题。那么如何解决这个问题呢?作用域隔离。在js中,作用域是通过函数来划分的,将js代码封装到函数中进行调用可以避免变量名/函数名冲突的问题,但是这也并不是万无一失,因为封装函数本身有可能和其它函数重名,解决方案:自执行函数。
自执行函数是用一对圆括号将匿名函数包起来,加括号(传参)会立即执行。因为函数无名字,实现了作用域的绝对隔离和函数名的冲突问题。基本形式如下:
(function () {   console.log('do something'); })();
比如我们在custome.js文件中写了一些js逻辑,并封装到函数init中。我们用自执行函数将自己定义的函数init包起来,就像下面这样。
(function () {   function init() {     console.log('execute init...');   }   init(); })();
当我们在html中引入custome.js:<script src="custome.js"></script>,自执行函数会立即执行,进而执行内部定义的init函数:
不过,自执行函数立即执行的特性,使其很难调用。通过定义jquery扩展方法,可以解决这一问题,拿到自执行函数调用和执行的主动权。
首先我们看一下定义jquery扩展方法的基本形式:
jquery.extend({   'mymethod': function () {     console.log('do something');   } });
这样,通过$.mymethod()或jquery.mymethod()就可以调用上面定义的方法。
定义jquery扩展方法还有另外一种方式:.fn
jquery.fn.extend({   'mymethod': function () {     console.log('do something');;   } });
通过如上方式定义的扩展方法,需要通过jquery选择器调用,比如通过标签选择器$(button).mymethod(args)
了解了js自执行函数和jquery扩展方法后,我们将二者结合起来。
下面我们利用自执行函数立即执行的特点,来定义jquery扩展方法:
(function (jq) {   function init() {     console.log('do something');   }   jq.extend({     'mymethod': function () {       init();     }   }) })(jquery);
说明,这个自执行函数接收jquery对象作为参数,然后在内部为jquery定义一个扩展方法mymethod,该方法执行真正的逻辑代码init函数
调用:
<script src="jquery-3.2.1.js"></script> <script src="custome.js"></script> <script>  $(function () {   $.mymethod();  }); </script>
说明:
jquery文件引入后,jquery对象全局可用;
紧接着引入自定义js文件custome.js,其中的自执行函数接收jquery对象为参数,立即执行,在内部为jquery定义一个扩展方法mymethod
然后我们就可以在页面加载完成后,通过调用$.memethod()或jquery.mymethod()来执行init函数
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
在vue2中使用ref步奏详解
vue-resource拦截器设置头信息的步奏详解
实现ajax发送异步请求方法
以上就是js自执行函数与jquery扩展使用方法的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product