Javascript-类-模块化[面向对象已经无处不在]
来源:互联网 发布:植物大战僵尸源码 编辑:程序博客网 时间:2024/06/06 06:46
Javascript是基于原型的编程语言,并不是面向对象的语言。
ES6已实现class关键字,这让js看起来更像一门面向对象的语言
主流语言类型:
- 基于原型的语言
- 面向过程的语言
- 面向对象的语言
- 函数式的语言
每一种语言的编程方式以及语法都会有所不同。
虽然Javascript并没有内置的类的实现,但可以模拟。Javascript有构造函数和new运算符,我们可以通过构造函数来实例化一个对象。
当使用new关键字来调用构造函数时,执行上下文变成一个空的上下文,这个上下文代表了新生成的实例,所以this指向当前创建的实例。
面向对象应该是现在使用最广的一种编程思想不了解的点此,需自备梯子
说到面向对象,首先让我想起的是C++,在我的印象里,C++是一门严格遵循面向对象思想的一门语言,封装、继承、多态。不仅如此,还支持多继承,这是其它很多语言没有做到的。
Javascript面向对象实现
说到面向对象,最直观的就是通过 class 关键字来声明,因为js还没实现该关键字(ES6已实现),在这里我们直接用构造函数来模拟即可。(以C++为例,在生成一个对象的时候也是去调用构造函数来创建对象的)
面向对象的三个特点:
- 封装
- 继承
- 多态
创建一个Animal类
var Animal = function(){/*属性*/this.name = "animal";/*方法[函数、方法,在这里为什么不称为函数而称之为方法?]*/this.talk = function(){console.log("what's your name?");}}
实例化对象
var Cat = new Animal;var Dog = new Animal;
实例化一个对象时一般会需要进行初始化设置,这里可以通过构造函数传参实现
var Animal = function(name){/*属性*/this.name = name || "Animal";/*方法*/this.talk = function(){console.log("My name is: ", name);}}var cat = new Animal("Cat");/*名字是Cat*/var dog = new Animal("Dog");/*名字是Dog*/
说明:
var name;name = pname || "Animal";/*与下面的功能等同*/var name;if(pname){name = pname;}else{name = "Animal";}
这是js的一种默认值设置技巧,当pname == undefined时,name赋值为 “Animal”,否则name等于pname
原文地址:点击打开链接
0 0
- Javascript-类-模块化[面向对象已经无处不在]
- javascript面向对象学习笔记(五)——模块化
- 对象无处不在
- 嵌入式技术已经无处不在
- javascript 面向对象 (类)
- PHP面向对象编程--类的创建和对象实例化(类、对象、模块化、抽象)
- javascript 面向对象 和 javascript 类
- javaScript 面向对象-对象
- Javascript 模块化编程(对象写法)
- UML视频之面向对象封装与模块化、接口与抽象类
- 20-JavaScript-面向对象-类(原型对象) 和 对象(实例)
- JavaScript面向对象程序设计(5): 类
- JavaScript面向对象程序设计(5): 类
- 面向对象的JavaScript——类
- JavaScript面向对象程序设计(5): 类
- Javascript面向对象之:一.创建类
- JavaScript的类及面向对象编程
- 一个javascript面向对象类库
- Linux下的五种I/O模型
- 使用 AsyncTask 下载图片,并在下载前设置本地图片显示
- Gradle-Eclipse插件安装
- 文件压缩与解压缩
- 隐藏和现实导航栏
- Javascript-类-模块化[面向对象已经无处不在]
- 用例子解释:如何设置CLASSPATH(Java)
- AIM documentation templates
- 响应式web设计
- 操作SQL Server数据源
- centos中samba共享可以在window打开,但无法访问的问题
- PAT1011
- Java学习笔记——java语法基础
- 文章标题