Javascript基础与面向对象基础~第八讲 从人类的起源谈面向对象

简介:

我很荣幸来写这个结局,有时,我们看人,物,事需要用心去看,而不是用眼睛,因为用眼睛看到的往往是事物的假像,在这里对我最可爱的兄弟说一声,对不起。

从人类的起源谈面向对象,事实上主要说的是面向对象,现在我简单来说一下面向对象的特性吧,当你把一个程序写成面向对象的之后,它将有三个好处,即

封装,继承和多态,这是所有面向对象语言的一个共性,而对于JS这个语言来说,也可以借鉴一下,如JS里实现封装,JS里的继承等等。

JS封装:

当我们干某件事时,需要将一些代码组织在一起,形成一个function,而这个过程我们称为封装,而在使用这个功能时,只要知识function的方法签名即可,你不

需要管它的实现细节。代码如:

//验证表单
function chkFormFun(name,password,email){
if(name==''){
 alert('用户名不能为空');
 return false;
 }
if(password==''){
  alert('密码不能为空');
  return false;
 }
if(email==''){
  alert('Email不能为空');
  return false;
 }
return true;
}

我们要需要表单验证的地方,直接调用chkFormFun这个方法即可,无需了解它的实现细节。

JS中的继承:

在部分知识我在第四讲 Javascript中的类对象中有比较详细的介绍,各位可以去查看,而继承的主要思想已经它会将一类对象的共有属性和方法提取到一个新对象

中,这个对象我们称为基类,而其实相关对象可以去继承它,这样基类中的信息将被子类完整继承,并且子类可以根据自己的需要,去重写基类的属性和方法。

由于JS没有提供对象的继承机制,所以我们需要使用一些JS技巧来实现这个效果,它的原则如下:

1 在子类构造函数(constructor)中调用父类构造函数(父类.call()).

2 修改子类prototype(原型链)属性为父类的实例.(prototype一般用来实现对函数的扩展,Dog.prototype = new AnimalFun();表示对父类AnimalFun进行扩展)

3 重置子类的prototype的constructor属性为子类.

JS中的类

下面定义了一个和人类有关的代码,它体现了JS中的类,类中的属性,及类的行为是如何实现的

var Person={ //人对象
  Name:'zzl',//属性
  Facial:[‘Eye’,‘Nose’,‘Mouth’],//属性
  Work:function(){//方法
  console.log(this.Name+',这个人开始上班了');
 }
}

再调用这个人类对象时,可以这样:

console.log("人的姓名:"+Person.Name);

console.log("人的五官:"+Person.Facial);

Person.Work();//人要上班了

 最后祝所有的好人都交到好的朋友,好的知己,最后感谢老天给我一个最好的朋友,谢谢!

感谢阅读!

目录
相关文章
|
6月前
|
JavaScript 前端开发 Java
深入JS面向对象(原型-继承)(三)
深入JS面向对象(原型-继承)
53 0
|
6月前
|
JavaScript 前端开发 Java
深入JS面向对象(原型-继承)(一)
深入JS面向对象(原型-继承)
61 0
js- 面向对象进阶
Object.defineProperty等面向对象的信息
|
存储 JavaScript 前端开发
|
5月前
|
设计模式 JavaScript 前端开发
【JavaScript】深入浅出JavaScript继承机制:解密原型、原型链与面向对象实战攻略
JavaScript的继承机制基于原型链,它定义了对象属性和方法的查找规则。每个对象都有一个原型,通过原型链,对象能访问到构造函数原型上的方法。例如`Animal.prototype`上的`speak`方法可被`Animal`实例访问。原型链的尽头是`Object.prototype`,其`[[Prototype]]`为`null`。继承方式包括原型链继承(通过`Object.create`)、构造函数继承(使用`call`或`apply`)和组合继承(结合两者)。ES6的`class`语法是语法糖,但底层仍基于原型。继承选择应根据需求,理解原型链原理对JavaScript面向对象编程至关重要
136 7
【JavaScript】深入浅出JavaScript继承机制:解密原型、原型链与面向对象实战攻略
|
6月前
|
前端开发 JavaScript
前端 JS 经典:Class 面向对象
前端 JS 经典:Class 面向对象
37 1
|
6月前
|
编解码 JavaScript 前端开发
js的起源
js的起源
36 1
|
6月前
|
JavaScript 前端开发
JavaScript 原型链继承:掌握面向对象的基础
JavaScript 原型链继承:掌握面向对象的基础
|
6月前
|
JavaScript 前端开发 API
在Node.js上使用dojo库进行面向对象web应用开发
请注意,虽然这个例子在Node.js环境中使用了Dojo,但Dojo的许多功能(例如DOM操作和AJAX请求)在Node.js环境中可能无法正常工作。因此,如果你打算在Node.js环境中使用Dojo,你可能需要查找一些适用于服务器端JavaScript的替代方案。
66 0
|
6月前
|
JavaScript 前端开发 Java
JavaScript的起源故事
JavaScript的起源故事
下一篇
无影云桌面