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 相关文章推荐
window.requestAnimationFrame是什么意思,怎么用
Jan 13 Javascript
JavaScript实现99乘法表及隔行变色实例代码
Feb 24 Javascript
js编写当天简单日历效果【实现代码】
May 03 Javascript
jquery层级选择器(匹配父元素下的子元素实现代码)
Sep 05 Javascript
详解vue-validator(vue验证器)
Jan 16 Javascript
ES6学习教程之块级作用域详解
Oct 09 Javascript
原生js实现拖拽功能基本思路详解
Apr 18 Javascript
webpack4之SplitChunksPlugin使用指南
Jun 12 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
Aug 22 Javascript
js 下拉菜单点击旁边收起实现(踩坑记)
Sep 29 Javascript
bootstrap-table后端分页功能完整实例
Jun 01 Javascript
vue 导航菜单刷新状态不消失,显示对应的路由界面操作
Aug 06 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 错误之引号中使用变量
2009/05/04 PHP
php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)
2013/06/27 PHP
完善CodeIgniter在IDE中代码提示功能的方法
2014/07/19 PHP
php一维二维数组键排序方法实例总结
2014/11/13 PHP
php中static和const关键字用法分析
2016/12/07 PHP
PHP使用Redis实现Session共享的实现示例
2019/05/12 PHP
php输出形式实例整理
2020/05/05 PHP
Jquery为单选框checkbox绑定单击click事件
2012/12/18 Javascript
javascript操作referer详细解析
2014/03/10 Javascript
js实现两点之间画线的方法
2015/05/12 Javascript
jquery实现简单的轮换出现效果实例
2015/07/23 Javascript
jQuery使用$.ajax提交表单完整实例
2015/12/11 Javascript
详解JavaScript UTC时间转换方法
2016/01/07 Javascript
jQuery实现点击水纹波动动画
2016/04/10 Javascript
基于Bootstrap3表格插件和分页插件实例详解
2016/05/17 Javascript
浅析jQuery中使用$所引发的问题
2016/05/29 Javascript
Web纯前端“旭日图”实现元素周期表
2017/03/10 Javascript
Windows下快速搭建NodeJS本地服务器的步骤
2017/08/09 NodeJs
JavaScript实现封闭区域布尔运算的示例代码
2018/06/25 Javascript
浅析vue给不同环境配置不同打包命令
2018/08/17 Javascript
使用VUE实现在table中文字信息超过5个隐藏鼠标移到时弹窗显示全部
2019/09/16 Javascript
Node.js API详解之 readline模块用法详解
2020/05/22 Javascript
Python模拟登录12306的方法
2014/12/30 Python
浅谈python字典多键值及重复键值的使用
2016/11/04 Python
Python 文件数据读写的具体实现
2020/01/24 Python
Python中Pyspider爬虫框架的基本使用详解
2021/01/27 Python
CSS实现聊天气泡效果
2020/04/26 HTML / CSS
Myprotein亚太地区:欧洲第一在线运动营养品牌
2020/12/20 全球购物
2014新年寄语
2014/01/20 职场文书
幼儿园消防安全制度
2014/01/26 职场文书
《我要的是葫芦》教学反思
2014/02/23 职场文书
愚人节活动策划方案
2014/03/11 职场文书
共产党员公开承诺书范文
2014/03/28 职场文书
社区活动策划方案
2014/08/21 职场文书
党性锻炼的心得体会
2014/09/03 职场文书
MySQL 慢查询日志深入理解
2021/04/22 MySQL