JavaScript 面向对象实例代码

  • 时间:
  • 9543人关注

js 面向对象知识是最基础的入门知识点,下面通过本文实例代码给大家详细介绍js 面向对象的知识,感兴趣的朋友一起学习吧,另外这篇文章主要知识点是关于js、面向对象、javascript的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子资料:

类的声明

1. 构造函数

function Animal() {
 this.name = 'name'
}
// 实例化
new Animal()

2. ES6 class

class Animal {
 constructor() {
  this.name = 'name'
 }
}
// 实例化
new Animal()

类的继承

1. 借助构造函数实现继承

原理:改变子类运行时的 this 指向,但是父类原型链上的属性并没有被继承,是不完全的继承

function Parent() {
 this.name = 'Parent'
}
Parent.prototype.say = function(){
 console.log('hello')
}
function Child() {
 Parent.call(this)
 this.type = 'Child'
}
console.log(new Parent())
console.log(new Child())

2. 借助原型链实现继承

原理:原型链,但是在一个子类实例中改变了父类中的属性,其他实例中的该属性也会改变子,也是不完全的继承

function Parent() {
 this.name = 'Parent'
 this.arr = [1, 2, 3]
}
Parent.prototype.say = function(){
 console.log('hello')
}
function Child() {
 this.type = 'Child'
}
Child.prototype = new Parent()
let s1 = new Child()
let s2 = new Child()
s1.arr.push(4)
console.log(s1.arr, s2.arr)
console.log(new Parent())
console.log(new Child())
console.log(new Child().say())

3. 构造函数 + 原型链

最佳实践

// 父类
function Parent() {
 this.name = 'Parent'
 this.arr = [1, 2, 3]
}
Parent.prototype.say = function(){
 console.log('hello')
}
// 子类
function Child() {
 Parent.call(this)
 this.type = 'Child'
}
// 避免父级的构造函数执行两次,共用一个 constructor
// 但是无法区分实例属于哪个构造函数
// Child.prototype = Parent.prototype
// 改进:创建一个中间对象,再修改子类的 constructor
Child.prototype = Object.create(Parent.prototype)
Child.prototype.constructor = Child
// 实例化
let s1 = new Child()
let s2 = new Child()
let s3 = new Parent()
s1.arr.push(4)
console.log(s1.arr, s2.arr) // [1, 2, 3, 4] [1, 2, 3]
console.log(s2.constructor) // Child
console.log(s3.constructor) // Parent
console.log(new Parent())
console.log(new Child())
console.log(new Child().say())

总结

以上所述是小编给大家介绍的JavaScript 面向对象(推荐)的相关知识,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!


上一篇:js实现京东轮播图效果的实例代码

下一篇:利用JavaScript对中文进行排序的实例代码

相关内容

  • java与jsp的区别

    java是一种语言类似于C语言等的编程语言,而JSP(JavaServer Pages)是一种动态网页技术标准。 JSP和JAVA的区别,JSP算是JAVA一种技术吧,用在网页编程上,因为JAVA不能直接写在html上,但jsp能,jsp就是Servlet程序,当JSP收到客户的请求时,SCRIPTLET(脚本小程序)就会被执行,脚本段将被插入到JSP所生成的目标Servlet的Serivce函数中.所以脚本小程序不能写方法(函数),因为方法里面不能再有方法了.JSP的执行过程。 1、首先,JAVA是一门

    12-17JSP和JAVA的区别

    阅读更多
  • js可以替代java吗

    nodejs不会替代java。在虚拟机层面 node.js 基于的v8 VM看起来很不错,但和Java的 VM 一比,差距甚远。在服务器领域,特别是拥有众多 CPU 和大量内存的环境下,Java 的 VM 几乎是你能在地球上找到的最好的 VM。而v8既不能充分利用多CPU的性能,也不能将内存充分利用。Node.js是从前端转过来的,恰恰前端是计算机领域少数几个不需要计算机体系知识就能胜任的职业。想要真正做到像java那样水平,计算机体系性的知识必不可少。Node.js特别适合中小型系统的快速开

    12-13js能替代java吗

    阅读更多
  • JAVA直接访问jsp页面报404吗

    404表示的是路径未找到错误,解决办法如下: 【解决方法】 1、首先看错误信息 第一行 2、这里有出错的路径,也就是哪个找不到的路径 3、然后回程序中找调用这个路径的地方,确定路径写的是否正确,是否可达。 JSP页面运行时报的404错处理方法如下: 保证在你的Console窗口中看不到任何起到影响的Exception(jsp在编译的时候会先检查web.xml文件,如果全部正常,没有任何Exception的话,才会成功部署到.metadata\.plugins\org.eclipse.wst.server.

    12-12JAVA访问jsp页面报404吗

    阅读更多
  • jsp实质是java程序对吗

    JSP页面在本质上就是Servlet程序,当JSP页面在首次被访问时,Web容器就会将JSP页面转化为Servlet,只需要做一次。如index.jsp在首次被访问时,Web容器会将其翻译成一个index_jsp.java文件,即Servlet代码。 JSP是服务器端的一种基于java语言的网页技术,它是由一些JSP标记,java程序段以及HTML文件组成的结合体,以java语言作为其内置的脚本语言。实质上是通过调用JSP引擎来生成java文件,再将这个java文件编译成类文件,并执行这个类文件以生成动态

    12-05jsp实质是java程序吗

    阅读更多
  • jsp文件就是java文件吗

    jsp文件不是java文件,java是一种语言类似于C语言等的编程语言,而JSP(JavaServer Pages)是一种动态网页技术标准。jsp是一个网页页面,相当于复杂的html。其中可以插入script代码,当然也可以插入java代码。j ava是一个类文件,在java学习初期主要是写java文件的。如果不写页面的话是没有页面效果的。 1、JSP的写的代码,不利于代码重用。JAVA本来就是面向对象的语言,但在JSP中,体现不出来代码重用的优势。如果把一些通用的代码写成JAVA文件,就方便了很多,例

    12-02jsp文件是java文件吗

    阅读更多
  • 移动网页设计与开发:HTML5+CSS3+JavaScript

    移动网页设计与开发:HTML5+CSS3+JavaScript

    将落伍的网址打导致更为灵便、友善,而且令其充分运用不一样机器设备和电脑浏览器的与众不同优点。根据《移动网页设计与开发HTML5+CSS3+JavaScript》,您将为投身第一线开发充分准备! *內容

    大小:30.2 MB移动开发

    点击下载
  • JavaScript从入门到精通

    JavaScript从入门到精通

    本书是javascript高级程序的权威指南,从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用JavaScript语言进行程序开发应该掌握的各方面技术,是一本入门经典书籍

    大小:92.2 MBJavaScript

    点击下载
  • JavaScript核心技术开发解密

    JavaScript核心技术开发解密

    这本书针对JavaScript 中的核心技术,结合前沿开发实践,全面的讲解与分析JavaScript 的内存、函数、执行上下文、面向对象、模块等重点知识

    大小:68.4 MBJavaScript

    点击下载
  • JavaScript数据可视化编程

    JavaScript数据可视化编程

    大小:61.8 MBjs编程

    点击下载
  • JavaScript前端开发案例教程

    JavaScript前端开发案例教程

    JavaScript是这种运用于Web前端开发的开发语言,具备简易、易懂、实用的特性,用JavaScript开发设计网页页面能够提高网页页面的参与性,为客户出示即时的、动态性的互动感受。 《 JavaScript前端

    大小:75.1 MBJS前端

    点击下载
  • Web前端开发精品课 JavaScript基础教程

    Web前端开发精品课 JavaScript基础教程

    《JavaScript基础教程》 共分为2大部分,第1部分是JavaScript基础知识,主要学习JavaScript基础概念如变量、运算符、表达式等。第二部分是JavaScript进阶知识,主要学习DOM、事件操作以及各种开发技

    大小:9.7 MB前端

    点击下载
  • Three.js开发指南:WebGL的JavaScript 3D库

    Three.js开发指南:WebGL的JavaScript 3D库

    大小:180.1 MBThree.js

    点击下载

学习笔记