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 相关文章推荐
脚本吧 - 幻宇工作室用到js,超强推荐share.js
Dec 23 Javascript
由点击页面其它地方隐藏div所想到的jQuery的delegate
Aug 29 Javascript
AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
Jan 02 Javascript
JS实现往下不断流动网页背景的方法
Feb 27 Javascript
jQuery-1.9.1源码分析系列(十一)DOM操作续之克隆节点
Dec 01 Javascript
浅谈angular.js跨域post解决方案
Aug 30 Javascript
JS使用tofixed与round处理数据四舍五入的区别
Oct 25 Javascript
JS实现获取汉字首字母拼音、全拼音及混拼音的方法
Nov 14 Javascript
对angular 监控数据模型变化的事件方法$watch详解
Oct 09 Javascript
vue store之状态管理模式的详细介绍
Jun 13 Javascript
新手快速入门微信小程序组件库 iView Weapp
Jun 24 Javascript
js数组的基本使用总结
Jan 18 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
Zerg基本策略
2020/03/14 星际争霸
thinkPHP实现表单自动验证
2014/12/24 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
2016/11/07 PHP
php操作access数据库的方法详解
2017/02/22 PHP
如何用js控制css中的float的代码
2007/08/16 Javascript
复制js对象方法(详解)
2013/07/08 Javascript
原生javaScript做得动态表格(注释写的很清楚)
2013/12/29 Javascript
Ext修改GridPanel数据和字体颜色、css属性等
2014/06/13 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
2014/09/25 Javascript
Javascript 拖拽的一些简单的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
跟我学习javascript的prototype使用注意事项
2015/11/17 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
利用jquery制作滚动到指定位置触发动画
2016/03/26 Javascript
jQuery插件实现图片轮播特效
2016/06/16 Javascript
javascript cookie用法基础教程(概念,设置,读取及删除)
2016/09/20 Javascript
vue.js实现用户评论、登录、注册、及修改信息功能
2020/05/30 Javascript
深入理解vue中slot与slot-scope的具体使用
2018/01/26 Javascript
如何编写一个d.ts文件的步骤详解
2018/04/13 Javascript
微信小程序滑动选择器的实现代码
2018/08/10 Javascript
详解在vue-cli中使用graphql即vue-apollo的用法
2018/09/08 Javascript
小程序实现列表展开收起效果
2020/07/29 Javascript
详尽讲述用Python的Django框架测试驱动开发的教程
2015/04/22 Python
PyCharm在新窗口打开项目的方法
2019/01/17 Python
Python 中 -m 的典型用法、原理解析与发展演变
2019/11/11 Python
检测tensorflow是否使用gpu进行计算的方式
2020/02/03 Python
python空元组在all中返回结果详解
2020/12/15 Python
安纳塔拉酒店度假村及水疗官方网站:Anantara Hotel
2016/08/25 全球购物
大学运动会通讯稿
2014/01/28 职场文书
文明学生事迹材料
2014/01/29 职场文书
关于环保的建议书400字
2014/03/12 职场文书
授权委托书格式
2014/07/31 职场文书
四风问题查摆材料
2014/08/25 职场文书
办理护照工作证明
2014/10/10 职场文书
学生上课说话检讨书
2014/10/25 职场文书
学习党的群众路线教育实践活动心得体会范文
2014/11/03 职场文书
面试提问mysql一张表到底能存多少数据
2022/03/13 MySQL