JavaScript定义全局对象的方法示例


Posted in Javascript onJanuary 12, 2017

本文实例讲述了JavaScript定义全局对象的方法。分享给大家供大家参考,具体如下:

!function (factory) {
  factory(window['Hi'] = {
    __a: function () {
      console.log('Hi.__a');
    },
    __b: function () {
      console.log('Hi.__b');
    },
    __c: function () {
      console.log('Hi.__c');
    }
  });
}(function (Hi) {
  if (typeof Hi === undefined) {
    Hi = {};
  }
  Object.defineProperty(Hi, 'appName', {
    get: function () {
      return 'this is app name.';
    }
  })
});
console.log(Hi.appName);//this is app name.
Hi.__b();//Hi.__b

通过立即执行函数将对象(Hi)定义函数作为参数(factory)传递给立即执行函数

!function (factory) { }();

在立即执行函数中,将要定义的对象作为立即执行函数的参数函数的参数传递。

如下也能实现了相同的对象定义:

var myObj = myObj || {};
(function (myObj) {
  myObj.__a = function () {
    console.log('myObj.__a');
  };
  myObj.name = 'this is myObj.name';
})(myObj);
console.log(myObj.name);//this is myObj.name
myObj.__a();//myObj.__a

这些定义方法相对比较独立,可以当作党都功能模块保存、使用。

类似 Jquery 的插件写法。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
javascript 学习笔记(onchange等)
Nov 14 Javascript
将input file的选择的文件清空的两种解决方案
Oct 21 Javascript
js写出遮罩层登陆框和对联广告并自动跟随滚动条滚动
Apr 29 Javascript
DOM节点删除函数removeChild()用法实例
Jan 12 Javascript
JavaScript必知必会(七)js对象继承
Jun 08 Javascript
jQuery dataTables与jQuery UI 对话框dialog的使用教程
Sep 02 Javascript
AngularJS指令与指令之间的交互功能示例
Dec 14 Javascript
js实现仿购物车加减效果
Mar 01 Javascript
axios拦截设置和错误处理方法
Mar 05 Javascript
微信小程序实现蒙版弹窗效果
Nov 01 Javascript
微信小程序下拉框组件使用方法详解
Dec 28 Javascript
vue-resource post数据时碰到Django csrf问题的解决
Mar 13 Javascript
Node.js制作简单聊天室
Jan 12 #Javascript
jQuery 插件实现随机自由弹跳气泡样式
Jan 12 #Javascript
微信小程序学习(4)-系统配置app.json详解
Jan 12 #Javascript
jQuery Validate 数组 全部验证问题
Jan 12 #Javascript
easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大的实现代码
Jan 12 #Javascript
React创建组件的三种方式及其区别
Jan 12 #Javascript
微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)
Jan 12 #Javascript
You might like
在WIN98下以apache模块方式安装php
2006/10/09 PHP
php中使用DOM类读取XML文件的实现代码
2011/12/14 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
yii框架配置默认controller和action示例
2014/04/30 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
2015/06/10 PHP
PHP中两个float(浮点数)比较实例分析
2015/09/27 PHP
php中使用GD库做验证码
2016/03/31 PHP
PHP get_html_translation_table()函数用法讲解
2019/02/16 PHP
javascript学习(二)javascript常见问题总结
2013/01/02 Javascript
jQuery操作Select选择的Text和Value(获取/设置/添加/删除)
2013/03/06 Javascript
Jquery基础教程之DOM操作
2015/08/19 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
2016/03/07 Javascript
Bootstrap每天必学之折叠
2016/04/12 Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
2016/11/01 Javascript
AngularJS入门教程之模块化操作用法示例
2016/11/02 Javascript
AngularJS中的DOM操作用法分析
2016/11/04 Javascript
Extjs gridpanel 中的checkbox(复选框)根据某行的条件不能选中的解决方法
2017/02/17 Javascript
vue实现在一个方法执行完后执行另一个方法的示例
2018/08/25 Javascript
vue cli使用融云实现聊天功能的实例代码
2019/04/19 Javascript
uniapp电商小程序实现订单30分钟倒计时
2020/11/01 Javascript
[45:14]Optic vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
python网络爬虫采集联想词示例
2014/02/11 Python
利用python求解物理学中的双弹簧质能系统详解
2017/09/29 Python
浅谈python配置与使用OpenCV踩的一些坑
2018/04/02 Python
Python 处理图片像素点的实例
2019/01/08 Python
Python实现的微信支付方式总结【三种方式】
2019/04/13 Python
Python爬虫入门教程01之爬取豆瓣Top电影
2021/01/24 Python
NUK奶瓶美国官网:NUK美国
2016/09/26 全球购物
物流专业毕业生推荐信范文
2013/11/18 职场文书
社团活动总结模板
2014/06/30 职场文书
12.4法制宣传日活动总结
2014/08/26 职场文书
树转促学习心得体会
2014/09/10 职场文书
2015年幼儿园班主任个人工作总结
2015/10/22 职场文书
幽默导游词应该怎么写?
2019/08/26 职场文书
openstack云计算keystone组件工作介绍
2022/04/20 Servers
SQL Server数据库备份和恢复数据库的全过程
2022/06/14 SQL Server