位置: 编程技术 - 正文

javascript 设计模式之单体模式 面向对象学习基础(js设计模型)

编辑:rootadmin
单体模式(singleton) 单体是在脚本加载时创建的,能将一系列有关联的变量和方法组织为一个逻辑单元,逻辑单元里面的内容通过单一的变量进行访问; 一个单体主要分为三部分 用于访问内部信息的入口变量(如:Sky) 属性(如:nickName/age/timeInfo) 方法(如:sayHello) 基本结构 以下是更详细的说明,看完了这篇文章,相信你应该差不多了解了,网上好多高手的js写法了,单体模式很常用。单体是一个用来划分命名空间并将一批相关的属性和方法组织在一起的对象,如果他可以被实例化,那么他只能被实例化一次。 单体模式是javascript里面最基本但也是最有用的模式之一。 特点: . 可以来划分命名空间,从而清除全局变量所带来的危险。 . 利用分支技术来来封装浏览器之间的差异。 . 可以把代码组织的更为一体,便于阅读和维护。 单体的基本结构(正确写法): 划分命名空间: 上面的单体中的所有的成员以及方法都是公有的(public),也就是在单体的外部可以对他们进行任意的改动,那为什么说单体提供了一个命名空间呢? 我们继续: 由于没有对init中的width,height进行初始化,所以会报错,这样改一下: 发现可以了,由于init和 getArea所用的width和height并不是归单体所有的变量,而是一个全局变量,所以我们可以在单体外面进行随意调用而不受影响 如果我们这样写一下就更明白了: 这样写又会报错了,可见我们以上的方式对于全局变量并没有建立起一个命名空间,全局变量为我们带来了危险。所以最上面的写法是对的,我们来验证一下: 可见在window.onload中的width 和height已经没有干扰了,因为单体为单体中的width和height建立了一个命名空间。 成员的属性: 讨论完命名空间,我们来对单体变量和方法的属性做一下设定。学过其他语言的人(java,c++,c#...)都应该很了解其中类成员的public和private, 虽然在javascript中没有这么严格的面向对象(oop),但是我们可以借助闭包来进行一个模仿,毕竟有的变量设为public是很不好的。 私有变量、方法是只读的,公有变量、方法是可读可写的 访问: 对于私有成员,直接访问即可,前面不用加任何修饰, 对于公有的访问在单体作用域内前面要加上“this.”,在单体作用域外前面要加上“circle.”(单体名字.) 呵呵,似乎有点味道了! .利用分支技术来来封装浏览器之间的差异 注意的地方: a一定要用闭包,实现即时绑定 b每个分支之间用分号隔开 c最后返回的是分支的名字 d调用的时候用单体名+分支的方法名; 最后再??录妇洌 对于单体据说是最常用的模式之一了,至于利弊嘛要在实践中慢慢的体会了,由于本人也是初学,所以没有太多的发言权,不足指出还忘高手指教

推荐整理分享javascript 设计模式之单体模式 面向对象学习基础(js设计模型),希望有所帮助,仅作参考,欢迎阅读内容。

javascript 设计模式之单体模式 面向对象学习基础(js设计模型)

文章相关热门搜索词:JAVASCRIPT设计模式与开发实践,JAVASCRIPT设计模式与开发实践,js设计模型,js的设计模式,js设计模型,js设计模型,js 设计模式,JAVASCRIPT设计模式与开发实践,内容如对您有帮助,希望把文章链接给更多的朋友!

改变javascript函数内部this指针指向的三种方法 在查了大量的资料后,我总结了下面的三条规则,这三条规则,已经可以解决目前我所遇到的所有问题.规则0:函数本身是一个特殊类型,大多数时候,

JavaScript 对象链式操作测试代码 虽然现在慢慢减少了对jQuery的使用(项目上还是用,效率高点。平时基本不用了),希望从而减少对jQuery的依赖度。但是这链式操作的方式实在吸引人

javascript 模式设计之工厂模式学习心得 模式类型:工厂模式模式说明:常用模式之一,用来动态创建对象适用范围:在运行期间需要在一系列可互换的子类中进行选择的类注意事项:接口的

标签: js设计模型

本文链接地址:https://www.jiuchutong.com/biancheng/385693.html 转载请保留说明!

上一篇:JavaScript For Beginners(转载)

下一篇:改变javascript函数内部this指针指向的三种方法(javascript修改)

  • 免税收入怎么做会计分录
  • 私车公用车险是个人名字可报销吗
  • 一般纳税人销售使用过的固定资产
  • 交强险可以打折扣吗
  • 报表净利润是亏损可弥补数吗
  • 增值税一般纳税人证明怎么查询
  • 固定资产评估减值后如何入账
  • 银行如何做存款
  • 高速公路过路费计入什么会计科目
  • 公司增值税进项税不够还有什么办法处理
  • 老板想提取销售公积金
  • 公司出差开自己的车怎么计算损耗
  • 进项税过期不抵扣怎么写会计分录?
  • 私车公用税务政策性文件
  • 如何查询已开出的增值税发票是否被认证
  • 种植保险包括
  • 资产相关的递延收益
  • 是否跨期
  • 月中发当月工资是怎么算的
  • 人民法院被收买了怎么办
  • 毛利率与净利率的差额
  • 外资公司办事处职能
  • 一般纳税人增值税申报表怎么填写
  • 怎么把qq垃圾全部清除
  • 随机赠送是啥意思
  • bios怎么恢复出厂设置dell
  • linux获取网络接口及ip命令
  • 安装win7前需要手动格式化c盘吗
  • 电脑每次开机都要磁盘检查是什么原因
  • mac触控板使用技巧
  • 垫付员工保险费的会计科目
  • 应交消费税影响当期损益吗
  • 企业低值易耗品有哪些
  • 房地产企业土地使用税纳税义务终止
  • 待处理财产损益借贷方向
  • php实现图片上传到网页显示
  • php取二维数组的一组内容
  • 残保金所属期怎么写
  • ai安装教程2020
  • ChatGPT强化学习大杀器——近端策略优化(PPO)
  • windowlocation用法
  • collection的属性
  • Vue(ref和$refs属性介绍与使用)
  • 高新技术企业相关税收政策
  • 企业取得政府奖励资金如何用
  • 房地产开发公司组织架构
  • python搜索函数
  • 契税计税依据是否包含耕地占用税
  • 账实不符的后果和对策
  • 土地交易服务费由哪个部门收取
  • 应交税费在会计科目的借贷方向
  • 房产互换如何交税费
  • 个人所得税部分缴款怎么算
  • 罚款属于应付账款吗
  • 项目差旅费可以直接计入劳务成本吗
  • 金蝶软件中怎么让以前年度损益调整在利润表中取不到数
  • 原材料出库怎么做分录
  • 收到所得税退税怎么做账务处理
  • 借分公司的款收据怎么开
  • 退货收到红字发票怎么办
  • 采购库存商品的分录
  • 补税的会计分录
  • 公司加班的餐费怎么算
  • 企业应该设置哪些部门
  • YunDetectService.exe是什么进程?YunDetectService.exe禁止使用的方法
  • 删除默认操作系统
  • win10自定义功能键
  • win8系统电脑
  • win10资源管理器启动不了
  • python2与python3中的区别
  • linux命令行常用操作
  • unity3ds
  • jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
  • 解决jQuery ajax请求在IE6中莫名中断的问题
  • 车船税的纳税期限是
  • 佛山市地税局办公室主任
  • 土地增值税清算退税涉及企业所得税补缴
  • 什么叫关联单位
  • 山东农村土地补贴每亩多少
  • 一般纳税人申请流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设