当前位置:
首页 > 网站开发 > JavaScript >
-
JavaScript教程之
可以利用js中函数的闭包进行封装
通常我们可以用下面这种方法进行一个封装,这样在外部引入我们写的这个js文件后,就可以直接使用export.getUserId()这种形式去调用该函数
(function($, owner) { /* * 中间就可以进行封装操作 * $就代表mui,owner就代表window的export属性,就是一个传值 */ var _userId = 1; function converter(userId){ return +userId; } owner.getUserId = function(){ return converter(_userId); } }(mui, window.export = {}));
上面写法等价于下面这一种,下面可能更易于理解,但都差不多,这样就进行了封装
然后在其他地方就可以通过window的全局对象来调用(直接用对象名即可),如:
export.getUserId() //得到的值就是1
因为函数有函数的作用域,所以函数内部定义的变量外部是无法访问的,那么要想外部访问到怎么办呢?
这里可以通过定义一个export对象,将这个对象输出出去(输出到window的export对象)
这样外部就能拿到这个对象里定义的变量(方法)
(function(){ var _userId = 1; var export = {}; function converter(userId){ return +userId; } export.getUserId = function(){ return converter(_userId); } window.export = export; }());
这里如果直接用export._userId,是拿不到这个属性的,除非你定义为export._userId,这样就可以,
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式