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 相关文章推荐
jquery 分页控件实现代码
Nov 30 Javascript
javascript与webservice的通信实现代码
Dec 25 Javascript
Jquery写一个鼠标拖动效果实现原理与代码
Dec 24 Javascript
JS获取iframe中marginHeight和marginWidth属性的方法
Apr 01 Javascript
解决jquery无法找到其他父级子集问题的方法
May 10 Javascript
JavaScript 数组- Array的方法总结(推荐)
Jul 21 Javascript
JS获取当前使用的浏览器名字以及版本号实现方法
Aug 19 Javascript
jQuery插件ajaxFileUpload异步上传文件
Oct 19 Javascript
node.js中axios使用心得总结
Nov 29 Javascript
解决Jstree 选中父节点时被禁用的子节点也会选中的问题
Dec 27 Javascript
vue下载excel的实现代码后台用post方法
May 10 Javascript
js滚轮事件 js自定义滚动条的实现
Jan 18 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
中篇:安装及配置PHP
2006/12/13 PHP
一个PHP的QRcode类与大家分享
2011/11/13 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
js 页面关闭前的出现提示的实现代码
2011/05/25 Javascript
Jsonp 跨域的原理以及Jquery的解决方案
2011/06/27 Javascript
从jQuery.camelCase()学习string.replace() 函数学习
2011/09/13 Javascript
jquery动画4.升级版遮罩效果的图片走廊--带自动运行效果
2012/08/24 Javascript
如何使用jQuery Draggable和Droppable实现拖拽功能
2013/07/05 Javascript
浅谈JavaScript数据类型及转换
2015/02/28 Javascript
实例代码详解jquery.slides.js
2015/11/16 Javascript
jQuery的Ajax用户认证和注册技术实例教程(附demo源码)
2015/12/08 Javascript
jQuery 获取跨域XML(RSS)数据的相关总结分析
2016/05/18 Javascript
jQuery Easyui DataGrid点击某个单元格即进入编辑状态焦点移开后保存数据
2016/08/15 Javascript
JS html时钟制作代码分享
2017/03/03 Javascript
xmlplus组件设计系列之按钮(2)
2017/04/26 Javascript
ES6中数组array新增方法实例总结
2017/11/07 Javascript
Puppeteer 爬取动态生成的网页实战
2018/11/14 Javascript
ionic使用angularjs表单验证(模板验证)
2018/12/12 Javascript
JavaScript对象的特性与实践应用深入详解
2018/12/30 Javascript
详解Vue的ref特性的使用
2020/01/24 Javascript
python 不关闭控制台的实现方法
2011/10/23 Python
Python实现 PS 图像调整中的亮度调整
2019/06/28 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
2019/08/01 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
2019/11/27 Python
OpenCV Python实现图像指定区域裁剪
2021/03/12 Python
css3+伪元素实现鼠标移入时下划线向两边展开的效果
2017/04/25 HTML / CSS
美国专业消费电子及摄影器材网站:B&H Photo Video
2019/12/18 全球购物
交通事故赔偿协议书怎么写
2014/10/04 职场文书
物价局领导班子四风问题整改措施
2014/10/26 职场文书
项目负责人岗位职责
2015/02/15 职场文书
自我评价优缺点范文
2015/03/11 职场文书
2015年重阳节主持词
2015/07/04 职场文书
Python移位密码、仿射变换解密实例代码
2021/06/27 Python
利用 SQL Server 过滤索引提高查询语句的性能分析
2021/07/15 SQL Server
Mysql超详细讲解死锁问题的理解
2022/04/01 MySQL
vue里使用create, mounted调用方法
2022/04/26 Vue.js