JavaScript面向对象之私有静态变量实例分析


Posted in Javascript onJanuary 14, 2016

本文实例分析了JavaScript面向对象之私有静态变量。分享给大家供大家参考,具体如下:

大家知道,私有实例变量的原理是根据作用域。

私有实例变量是在Javascript的function内部用var关键字实现,只在function内部有效。

仿照这个,提出私有静态变量的解决方案:

<script language="javascript" type="text/javascript">
var JSClass = (function() {
 var privateStaticVariable = "私有静态变量";
 var privateStaticMethod = function() {
  alert("调用私有静态方法");
 };
 return function() {
  this.test1 = function() {
   return privateStaticVariable;
  }
  this.test2 = function(obj) {
   privateStaticVariable = obj;
  }
  this.test3 = function() {
   privateStaticMethod();
  }
 };
})();
var testObject1 = new JSClass();
var testObject2 = new JSClass();
alert(testObject1.test1());
testObject1.test2("改变的私有静态变量");
alert(testObject2.test1());
testObject2.test3();
</script>

注意不是直接定义Javascript类,而是用一个匿名的function作为静态变量的容器,并返回Javascript类

更多关于JavaScript面向对象相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》

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

Javascript 相关文章推荐
JavaScript QueryString解析类代码
Jan 17 Javascript
javascript中的document.open()方法使用介绍
Oct 09 Javascript
让input框实现类似百度的搜索提示(基于jquery事件监听)
Jan 31 Javascript
JavaScript中发布/订阅模式的简单实例
Nov 05 Javascript
js编写贪吃蛇的小游戏
Aug 24 Javascript
一个简易的js图片轮播效果
Jul 22 Javascript
Vue组件通信实践记录(推荐)
Aug 15 Javascript
学习jQuery中的noConflict()用法
Sep 28 jQuery
小程序实现自定义导航栏适配完美版
Apr 02 Javascript
微信小程序报错: thirdScriptError的错误问题
Jun 19 Javascript
js实现轮播图效果 纯js实现图片自动切换
Aug 09 Javascript
谈谈JavaScript中的函数
Sep 08 Javascript
浏览器环境下JavaScript脚本加载与执行探析之defer与async特性
Jan 14 #Javascript
js实现input密码框提示信息的方法(附html5实现方法)
Jan 14 #Javascript
jQuery div拖拽用法实例
Jan 14 #Javascript
javascript检测flash插件是否被禁用的方法
Jan 14 #Javascript
分享jQuery插件的学习笔记
Jan 14 #Javascript
jQuery时间插件jquery.clock.js用法实例(5个示例)
Jan 14 #Javascript
Jquery easyui开启行编辑模式增删改操作
Jan 14 #Javascript
You might like
一个程序下载的管理程序(四)
2006/10/09 PHP
ThinkPHP3.2.1图片验证码实现方法
2016/08/19 PHP
PHP中利用sleep函数实现定时执行功能实现代码
2016/08/25 PHP
JavaScript 对话框和状态栏使用说明
2009/10/25 Javascript
添加JavaScript重载函数的辅助方法2
2010/07/04 Javascript
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
2013/02/02 Javascript
setInterval()和setTimeout()的用法和区别示例介绍
2013/11/17 Javascript
jQuery插件EnPlaceholder实现输入框提示文字
2015/06/05 Javascript
AngularJS ng-bind-template 指令详解
2016/07/30 Javascript
微信公众号-获取用户信息(网页授权获取)实现步骤
2016/10/21 Javascript
Bootstrap基本样式学习笔记之按钮(4)
2016/12/07 Javascript
微信开发之调起摄像头、本地展示图片、上传下载图片实例
2016/12/08 Javascript
JS 调试中常见的报错问题解决方法
2017/05/20 Javascript
基于JavaScript实现微信抢红包功能
2017/07/20 Javascript
Vue header组件开发详解
2018/01/26 Javascript
vue使用xe-utils函数库的具体方法
2018/03/06 Javascript
新版vue-cli模板下本地开发环境使用node服务器跨域的方法
2018/04/03 Javascript
js中位运算的运用实例分析
2018/12/11 Javascript
详解CommonJS和ES6模块循环加载处理的区别
2018/12/26 Javascript
vue+element创建动态的form表单及动态生成表格的行和列
2019/05/20 Javascript
复制粘贴功能的Python程序
2008/04/04 Python
Python中条件选择和循环语句使用方法介绍
2013/03/13 Python
python opencv实现运动检测
2018/07/10 Python
使用python生成杨辉三角形的示例代码
2018/08/29 Python
Django 路由控制的实现代码
2018/11/08 Python
Python函数参数类型及排序原理总结
2019/12/19 Python
TensorFLow 变量命名空间实例
2020/02/11 Python
python实现处理mysql结果输出方式
2020/04/09 Python
HTML5实现页面切换激活的PageVisibility API使用初探
2016/05/13 HTML / CSS
纪检干部个人对照检查材料
2014/09/23 职场文书
标准离婚协议书范文下载
2014/11/30 职场文书
2015年保安个人工作总结
2015/04/02 职场文书
盗窃案辩护词
2015/05/21 职场文书
只用20行Python代码实现屏幕录制功能
2021/06/02 Python
Django Paginator分页器的使用示例
2021/06/23 Python
Golang gRPC HTTP协议转换示例
2022/06/16 Golang