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[js]获取url参数的代码
Oct 17 Javascript
JQuery 给元素绑定click事件多次执行的解决方法
Sep 09 Javascript
JS实现获取键盘按下的按键并显示在页面上的方法
Nov 04 Javascript
jquery实现简易的移动端验证表单
Nov 08 Javascript
Bootstrap图片轮播组件Carousel使用方法详解
Oct 20 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
Aug 28 Javascript
使用webpack3.0配置webpack-dev-server教程
May 29 Javascript
详解原生JS回到顶部
Mar 25 Javascript
vue-cli脚手架引入弹出层layer插件的几种方法
Jun 24 Javascript
layui的select联动实现代码
Sep 28 Javascript
JavaScript类的继承多种实现方法
May 30 Javascript
前端 javascript 实现文件下载的示例
Nov 24 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
PHP设计模式之装饰者模式
2012/02/29 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
飞鱼(shqlsl) javascript作品集
2006/12/16 Javascript
Javascript模板技术
2007/04/27 Javascript
用javascript实现画板的代码
2007/09/05 Javascript
跨浏览器开发经验总结(三)   警惕“IE依赖综合症”
2010/05/13 Javascript
jquery $.ajax相关用法分享
2012/03/16 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
2013/12/09 Javascript
js实现身份证号码验证的简单实例
2014/02/19 Javascript
Bootstrap字体图标无法正常显示的解决方法
2016/10/08 Javascript
jQuery中的siblings()是什么意思(推荐)
2016/12/29 Javascript
js字符串类型String常用操作实例总结
2019/07/05 Javascript
Vue-router中hash模式与history模式的区别详解
2020/12/15 Vue.js
python获取当前运行函数名称的方法实例代码
2017/04/06 Python
基于python中staticmethod和classmethod的区别(详解)
2017/10/24 Python
基于python OpenCV实现动态人脸检测
2018/05/25 Python
详解python 降级到3.6终极解决方案
2020/02/06 Python
python logging设置level失败的解决方法
2020/02/19 Python
TensorFlow tf.nn.conv2d_transpose是怎样实现反卷积的
2020/04/20 Python
深入了解python列表(LIST)
2020/06/08 Python
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
2015/01/01 HTML / CSS
使用canvas对多图片拼合并导出图片的方法
2018/08/28 HTML / CSS
澳大利亚牛仔裤商店:Just Jeans
2016/10/13 全球购物
Evisu官方网站:日本牛仔品牌,时尚街头设计风格
2016/12/30 全球购物
Bogner美国官网:滑雪服中的”Dior”
2018/01/30 全球购物
海南地接欢迎词
2014/01/14 职场文书
清洁工岗位职责
2014/01/29 职场文书
新年寄语大全
2014/04/12 职场文书
小学运动会口号
2014/06/07 职场文书
食品质检员岗位职责
2015/04/08 职场文书
2015年秋季小班开学寄语
2015/05/27 职场文书
解决thinkphp6(tp6)在状态码500下不报错,或者显示错误“Malformed UTF-8 characters”的问题
2021/04/01 PHP
Go语言应该什么情况使用指针
2021/07/25 Golang
CentOS MySql8 远程连接实战
2022/04/19 MySQL
TypeScript 内置高级类型编程示例
2022/09/23 Javascript