位置: 编程技术 - 正文

面向对象的Javascript之一(初识Javascript)(面向对象的java语言)

编辑:rootadmin
1. Javascript最大的特性在于其灵活性。作为一名前端开发人员,既可以采用函数式的编程风格,也可以采用更复杂一点的面向对象的编程风格。不管你采用哪种风格,都可以完成一些非常有用的任务。因而,Javascript是一门面向过程的语言,同时也是一门面向对象的语言,进而可以模仿面向对象语言的编程模式和惯用法。我们用一个例子来说明:启动和停止动画。 如果你习惯于函数式的编程风格,代码会如下: 这种方法很简单,但却无法创建保存状态以及仅对内部状态进行操作的动画对象。下面我们定义一个类: 如果你想将类的定义封装到一条声明中,则代码如下: 这样让面向对象的程序员看起来更加眼熟,我们可以试着尝试更复杂一点的写法: 我们为Function类扩展了一个方法method用于添加新方法。name代表函数名称,fn代表函数的具体实现。在基于此写法的基础之上,我们可以让函数支持链式调用: 至此已经见识了5种不同的编程风格,具有不同的代码量、编码效率和执行性能。你可以选择最适合当前项目的编程风格来进行工作。 2. Javascript是一门弱类型语言。声明变量时不必指定类型,但并不代表没有类型。Javascript包含三种基本类型:布尔型、数值型和字符串类型,此外还包含对象类型和函数类型,最后还包含空类型和未定义类型。基本类型按值传递,其他类型按引用传递。可以根据变量赋值改变类型,基本类型之间可以相互转换。toString()可以把数值或布尔值转化为字符串,parseInt()和parseFloat()可以将字符串转化为数值,双"非"操作可以将字符串或数值转化为布尔值。 3. Javascript函数是"一等"对象。函数可以存储在变量中,可作为参数传到其他函数,可作为返回值从其他函数中传出,也可在运行时构造。在于函数打交道时,带来了极大的灵活性和极强的表达能力,这些都是构建面向对象的基础。可以通过function() {...}创建匿名函数(没有函数名,也可赋给变量)。下面以例子来说明: 之所以能立即执行,是因为函数声明后的一对括号。但我们发现,括号内空无一物,也并非完全如此。 这个匿名函数与前一个等价,只是变量没有在函数内声明,而是直接从外部传入而已。其实,这个匿名函数也可以有个返回值,并赋给某个变量。 匿名函数的最大用途是创建闭包。所谓闭包,就是一个受保护的变量空间,由内嵌函数生成。由于Javascript具有函数级的作用域,即定义在函数内部的变量在函数外部是不能被访问的,函数仅运行在定义它的作用域中,而不是在调用的作用域中。这样,就可以把变量包裹在匿名函数中加以保护。例如,你可以通过以下方式创建私有变量: 4. Javascript对象是"易变"的。一切都是对象(除了3种基本类型),而且所有对象都是易变的。这意味着你能使用一些别的语言不存在的技术。例如为函数动态添加属性。 可以利用prototype机制在类的实例创建后再动态添加,此时对已定义的对象仍然有效。例如: 与对象的易变性相关的就是反射(也可称为"内省"),即在运行时检查对象的属性和方法,并利用这些信息来实例化类和执行方法,甚至在开发时不需要知道它们的名称。借助于对象的这两大特性,可以完全模仿面向对象语言的高级特性,但要记住在Javascript中任何对象都是可以在运行时修改。 5. Javascript具有实现"继承"的天份。这里简单提及一下:Javascript继承包含"类式"继承和基于对象的原型式继承,这个话题我会在下一期的文章中详细论述。 最后总结一下,之所以采用面向对象和设计模式的思想来处理Javascript这种看似过程式的语言,到底有什么好处呢?我总结了以下几点供大家参考: (1).可维护性。有助于降低模块之间的耦合性,对项目中代码可按模块和功能职责来划分。 (2).便于交流。对于一个大型团队来说,可能用设计模式很简单的术语可以高度概括你所负责实现的功能模块,而不必太多让团队其他成员关注过多的细节。 (3).提升性能。利用模式可以减少传送到客户端代码量的同时并提高程序运行的速度。 当然,有利就有弊。弊端在于: (1).复杂度相对较高。获取可维护性的代价是以代码的高度重构和模块化的划分而成,对于一些新手来说,很难一下适应。 (2).部分模式反而降低性能。但是这种拖累依赖于你的项目需求,可能有时微不足道,有时难以接受。 因此,建议大家学会理解设计模式的应用场景,用对场景才是对设计模式的真正意义上的应用。盲目应用和用错场景就是误用,还不如不用。

推荐整理分享面向对象的Javascript之一(初识Javascript)(面向对象的java语言),希望有所帮助,仅作参考,欢迎阅读内容。

面向对象的Javascript之一(初识Javascript)(面向对象的java语言)

文章相关热门搜索词:面向对象的java,面向对象的特征,面向对象的三个基本特征,面向对象的java程序设计,面向对象的程序设计语言是一种,面向对象的三个基本特征,面向对象的java,面向对象的java语言,内容如对您有帮助,希望把文章链接给更多的朋友!

面向对象的Javascript之二(接口实现介绍) 就足以说明接口在面向对象的领域中有多重要。但JS却不像其他面向对象的高级语言(C#,Java,C++等)拥有内建的接口机制,以确定一组对象和另一组对象包

面向对象的Javascript之三(封装和信息隐藏) 同时,我们知道在面向对象的高级语言中,创建包含私有成员的对象是最基本的特性之一,提供属性和方法对私有成员进行访问来隐藏内部的细节。虽

Javascript面向对象编程 Javascript的重要性使用率1、在web应用中,涉及到前端界面编程基本上都要用到javascript语言;2、Web2.0及Ajax推动了javascript语言。3、随着大量的c/s应用转向b

标签: 面向对象的java语言

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

上一篇:javascript类式继承新的尝试(js 类的继承)

下一篇:面向对象的Javascript之二(接口实现介绍)(面向对象的程序设计语言是)

  • 投资性房地产采用成本模式计量
  • 期初未缴税额是什么意思
  • 错账更正方法有哪几种
  • 小规模增值税税率表2023年最新版
  • 金蝶专业版仓库反审核怎么做
  • 残保金滞纳金可以税前扣除吗
  • 总账和总分类账的区别图片
  • 印花税是当月交当月的吗
  • 银行基本户可以变更成一般户吗
  • 股票印花税最新政策2023怎么算
  • 被列为经营异常名录有什么影响
  • 单位购买小汽车一次性进成本报表怎么填写?
  • 国税局网上申报
  • 未达起征点销售额和小微企业免税销售额
  • 砂石开采销售需什么资质
  • 增值税税负的概念和如何确定税负
  • 企业所得税优惠事项包括哪些?
  • 企业重组 资产重组
  • 预收款结转收入怎么算
  • 个人独资企业简易注销流程及材料
  • 收购免税农产品的进项税可以抵扣吗
  • 购货申请书
  • 小规模纳税人开票限额是多少
  • 固定资产进项税额转出怎么做账务处理
  • 哪些费用可以用医保
  • YII2.0之Activeform表单组件用法实例
  • 个体户对公账户怎么办理
  • 小狐狸803050
  • 应收账款项目在资产负债表怎么填列
  • php查找字符串中的某个字符
  • phpemail正则
  • 个税申报工资比实发工资少,但没超过5000可以举报吗
  • python读书笔记
  • 当月没有生产情况正常吗
  • nodejs.org
  • php调用java接口
  • 微信收款怎么做会计分录
  • 固定资产一次性扣除政策2023
  • 退货可以开红字发票吗
  • 铁路运费的印花税进什么科目
  • 印花税怎么交税率是多少
  • 往来账户余额
  • sqlserver2019删除
  • 购买的软件属于什么资产
  • 预付账款用途
  • 建筑企业结转成本附件
  • 个人独资企业需要缴纳哪些税种
  • 会计凭证中的数字怎么填
  • 普通发票税费会计分录
  • 地下车库的成本和房子哪个高
  • 税率与征收率是怎么回事
  • 房地产企业的企业所得税是多少
  • 销项发票怎么导出的是压缩包怎么打开
  • 滞纳金在年报的营业外支出的哪一项?
  • 政府会计资产处置损益
  • 分公司内部管理模式
  • 应交税费会计分录实例分析
  • 注销公司需要多长时间完成
  • 搜狗拼音输入法xp系统
  • 你所不知道的童话动画版免费观看
  • 如何隐藏文件夹并显示隐藏的文件夹
  • win7系统打开软件慢的原因
  • win8应用显示错误
  • linux的含义
  • Windows 7 OpenGL配置,解决“无法启动此程序,因为计算机中丢失glut32.dll。”
  • windows更新
  • cocos2d schedule
  • javascript几种类型
  • js移动元素位置
  • jQuery插件开发
  • python爬虫抓包
  • unity多人联机服务器客户端
  • 德州市税务局领导
  • 纳税人不如实申报税收怎么办
  • 贵州省网上税务局要那个版本
  • 大连电子税务局app下载
  • 音箱海关税
  • 北京摇号摇中了能过户吗
  • 车辆购置税计入固定资产一起折旧吗
  • 税务之星ii驱动
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设