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对象反射用法实例
Apr 17 Javascript
AngularJS入门教程之更多模板详解
Aug 19 Javascript
关于javascript原型的修改与重写(覆盖)差别详解
Aug 31 Javascript
实例详解display:none与visible:hidden的区别
Mar 30 Javascript
关于前后端json数据的发送与接收详解
Jul 30 Javascript
ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)
Feb 08 Javascript
Node.js之readline模块的使用详解
Mar 25 Javascript
基于vue开发微信小程序mpvue-docs跳转页面功能
Apr 10 Javascript
详解vue-cli+element-ui树形表格(多级表格折腾小计)
Apr 17 Javascript
个人小程序接入支付解决方案
May 23 Javascript
Javascript通过控制类名更改样式
May 24 Javascript
详解Vue中的watch和computed
Nov 09 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
动态网站web开发 PHP、ASP还是ASP.NET
2006/10/09 PHP
一个php作的文本留言本的例子(二)
2006/10/09 PHP
PHP Session 变量的使用方法详解与实例代码
2013/09/11 PHP
php中chdir()函数用法实例
2014/11/13 PHP
详解PHP中的PDO类
2015/07/06 PHP
使用正则去除php代码中的注释方法
2016/11/03 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
javascript 学习之旅 (1)
2009/02/05 Javascript
javascript eval函数深入认识
2009/02/21 Javascript
基于jQuery试卷自动排版系统
2010/07/18 Javascript
js中switch case循环实例代码
2013/12/30 Javascript
SeaJS入门教程系列之SeaJS介绍(一)
2014/03/03 Javascript
手机端页面rem宽度自适应脚本
2015/05/20 Javascript
纯javascript实现图片延时加载方法
2015/08/21 Javascript
jQuery实现返回顶部功能
2016/02/23 Javascript
jQuery如何解决IE输入框不能输入的问题
2016/10/08 Javascript
关于 jQuery Easyui异步加载tree的问题解析
2016/12/06 Javascript
详解基于angular-cli配置代理解决跨域请求问题
2017/07/05 Javascript
浅谈Vue-cli 命令行工具分析
2017/11/22 Javascript
浅谈webpack-dev-server的配置和使用
2018/05/17 Javascript
Vue实现底部侧边工具栏的实例代码
2018/09/03 Javascript
angular 用Observable实现异步调用的方法
2018/12/27 Javascript
用原生 JS 实现 innerHTML 功能实例详解
2019/04/03 Javascript
python正常时间和unix时间戳相互转换的方法
2015/04/23 Python
TensorFlow安装及jupyter notebook配置方法
2017/09/08 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
2018/12/31 Python
基于python二叉树的构造和打印例子
2019/08/09 Python
Python函数中的可变长参数详解
2019/09/12 Python
Python selenium页面加载慢超时的解决方案
2020/03/18 Python
涂鸦板简单实现 Html5编写属于自己的画画板
2016/07/05 HTML / CSS
可持续木材、生态和铝制太阳镜:Proof Eyewear
2019/07/24 全球购物
小学数学课题方案
2014/06/15 职场文书
“四风”问题的主要表现和危害思想汇报
2014/09/19 职场文书
个人剖析材料及整改措施
2014/10/07 职场文书
一文帮你理解PReact10.5.13源码
2021/04/03 Javascript
Python采集爬取京东商品信息和评论并存入MySQL
2022/04/12 Python