APP下载

JavaScript继承机制探讨及其应用

2017-11-13吕远

淮阴工学院学报 2017年5期
关键词:机制语言方法

吕 远

(南京工业大学 信息服务部,南京 211800)

JavaScript继承机制探讨及其应用

吕 远

(南京工业大学 信息服务部,南京 211800)

JavaScript语言作为一门弱类型语言,由于其函数的第一类对象(First Class Object)性,无论是采用函数式编程还是面向对象编程使用起来都非常灵活。随着近几年JavaScript生态圈发展的火热和不断成熟,各种项目的编码量和复杂度都在呈几何级数增长,而JavaScript面向对象编程中的继承机制在其中扮演的作用也越来越重要,但使用现状却非常不规范。详细分析JavaScript的继承核心机制,然后提供几种继承的实现方式,并分析各自相应的优缺点和使用场景;同时通过分析John Resig发布的其著名开源框架中的一段核心源码,展示继承机制在JavaScript框架级项目开发中的应用。

JavaScript;继承;原型链;解耦

0 引言

JavaScript做为一门弱类型语言,有些人认为其并不是一门真正的面向对象语言。这种说法的原因一般都是觉得JavaScript与类似Java或C#之类的强型语言的继承方式有很大的区别,因而默认它就是非主流的面向对象方式,甚至竟有很多书也将其描述为“非完全面向对象”语言。但若深入研究一下其继承机制便会发现JavaScript不仅是面向对象语言的,而且其继承方式也有着多种实现方式,相当灵活。特别在ES6[1]规范发布之后,JavaScript作为面向对象的一门语言的特征更加明显,编码习惯与传统高级面向对象语言Java、C++更加接近。

2007年Atwood在Blog中发文“The Principle of Least Power”,提出了著名的阿特伍德定律——所有能用JavaScript实现的终将会被JavaScript实现[2]。时至今日,该定律依然是正确的。当下JavaScript语……

登录APP查看全文

猜你喜欢

机制语言方法
语言是刀
自制力是一种很好的筛选机制
让语言描写摇曳多姿
用对方法才能瘦
破除旧机制要分步推进
四大方法 教你不再“坐以待病”!
我有我语言
捕鱼
注重机制的相互配合
打基础 抓机制 显成效