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 相关文章推荐
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
Dec 26 Javascript
jQuery中:last-child选择器用法实例
Dec 31 Javascript
javascript实用方法总结
Feb 06 Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
Mar 04 Javascript
jQuery随机密码生成的方法
Mar 09 Javascript
老生常谈 js中this的指向
Jun 30 Javascript
AngularJS 表达式详解及实例代码
Sep 14 Javascript
js-FCC算法-No repeats please字符串的全排列(详解)
May 02 Javascript
vue2.0项目实现路由跳转的方法详解
Jun 21 Javascript
详解vuex中action何时完成以及如何正确调用dispatch的思考
Jan 21 Javascript
vue微信分享的实现(在当前页面分享其他页面)
Apr 16 Javascript
vuejs移动端实现div拖拽移动
Jul 25 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
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
基于PHP文件操作的详解
2013/06/05 PHP
Alliance vs Liquid BO3 第一场2.13
2021/03/10 DOTA
JS input 数字验证代码
2009/07/30 Javascript
ext 同步和异步示例代码
2009/09/18 Javascript
JavaScript的内存释放问题详解
2015/01/21 Javascript
JavaScript使用setTimeout实现延迟弹出警告框的方法
2015/04/07 Javascript
JS拖动鼠标画出方框实现鼠标选区的方法
2015/08/05 Javascript
nodejs初步体验篇
2015/11/23 NodeJs
jQuery选择器用法实例详解
2015/12/17 Javascript
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
2016/01/04 Javascript
jQuery正则验证注册页面经典实例
2017/06/10 jQuery
nodejs结合Socket.IO实现的即时通讯功能详解
2018/01/12 NodeJs
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
2018/01/16 Javascript
vue动态绑定组件子父组件多表单验证功能的实现代码
2018/05/14 Javascript
基于vue、react实现倒计时效果
2019/08/26 Javascript
vue 使用 vue-pdf 实现pdf在线预览的示例代码
2020/04/26 Javascript
Node.js API详解之 readline模块用法详解
2020/05/22 Javascript
Vue自定义组件双向绑定实现原理及方法详解
2020/09/03 Javascript
Python+django实现文件上传
2016/01/17 Python
解决pycharm无法识别本地site-packages的问题
2018/10/13 Python
Python爬虫实战之12306抢票开源
2019/01/24 Python
用pycharm开发django项目示例代码
2019/06/13 Python
python3获取当前目录的实现方法
2019/07/29 Python
Flask框架单例模式实现方法详解
2019/07/31 Python
python实现输出一个序列的所有子序列示例
2019/11/18 Python
python matplotlib 画dataframe的时间序列图实例
2019/11/20 Python
Python数据相关系数矩阵和热力图轻松实现教程
2020/06/16 Python
Python Selenium实现无可视化界面过程解析
2020/08/25 Python
python如何绘制疫情图
2020/09/16 Python
使用Html5实现异步上传文件,支持跨域,带有上传进度条
2016/09/17 HTML / CSS
美国祛痘、抗衰老药妆品牌:Murad
2016/08/27 全球购物
物流仓储计划书
2014/01/10 职场文书
医学专业应届生的自我评价
2014/02/28 职场文书
会议主持人开场白台词
2015/05/28 职场文书
让JavaScript代码更加精简的方法技巧
2022/06/01 Javascript