首页 web前端 js教程 js面向对象编程

js面向对象编程

Jun 04, 2020 pm 12:30 PM
js 面向对象编程

一、面向对象编程

1.面向过程与面向对象

    1)面向过程:专注于如何解决一个问题的过程步骤,编程特点是由一个个函数去实现每一步的过程步骤,没有类和对象的概念。

    2)面向对象:专注于由哪一个对象来解决问题,编程特点是出现一个类,从类中拿到对象,由这个对象去解决具体问题。

    对于调用者来说,面向过程需要调用者自己去实现各种函数。而面向对象,只需要调用者了解对象中具体方法的功能,不需要了解方法中的实现细节。

2.面向对象的三大特征

      面向对象的三大特征继承、封装、多态。JS可以模拟实现继承和封装,但是无法模拟实现多态,所以JS是一门基于对象的语言,          而不是传统意义上的面向对象的语言。

3.类和对象的关系

    1)类是抽象的,对象是具体的(类是对象的抽象化,对象是类的具体化)

    2)类是一个抽象的概念,只能说类有属性和方法,但是不能给属性赋具体的。比如,人类有姓名,但是不能说人类的姓名叫什么。

二、Javascript对象的创建方法

1.var obj = {}//简单对象plainObject 对象字面量/对象直接量

2.构造函数(特点:大驼峰式命名规则)

1)系统自带的构造函数

    var obj = new Object();//相当于var object = {}

2)自定义函数封装

    // 函数里面加参数才能使函数自定义,可以随意改变函数中对应参数的数据,生产对象的时候必须得new对象

function Car(color){
        this.color=color;
        this.name = "BMW";
        this.height = "1400";
        this.lang = "4900";
        this.weight = 1000;
        this.health = 100;
        this.run = function(){
            this.health -- ;
        }
    }
登录后复制

var car = new Car("red");

3.对象构造函数的内部原理3步

1)在函数体最上面隐式的加上一个对象:var this = {}

2)执行函数体中的内容

3)隐式的返回this对象

三、包装类

1.原始值是不可能有属性和方法(undefined、null、number、boolean、string)

2.有些原始值经过包装类之后,可以进行调用

var num=123;//不是对象

var num1=new Number(123);//是对象

3.隐式包装类的过程如下

  var num = 4;
  num.len = 3;//隐式发生转换,新建一个数字对象,然后添加属性并赋值,最后删除这个对象,所以在执行过程中没有报错
  console.log(num.len);//再新建一个数字对象,添加属性,所以最后输出为undefined
        
  var str="abcd";
  str.length=2;
  console.log(str.length);
  //输出为4,在输出时原始值str包装类之后输出的为new String('abcd').length,字符串自带length属性,所以输出长度为4
登录后复制

    推荐教程:《JS教程》

以上是js面向对象编程的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1673
14
CakePHP 教程
1429
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24
推荐:优秀JS开源人脸检测识别项目 推荐:优秀JS开源人脸检测识别项目 Apr 03, 2024 am 11:55 AM

人脸检测识别技术已经是一个比较成熟且应用广泛的技术。而目前最为广泛的互联网应用语言非JS莫属,在Web前端实现人脸检测识别相比后端的人脸识别有优势也有弱势。优势包括减少网络交互、实时识别,大大缩短了用户等待时间,提高了用户体验;弱势是:受到模型大小限制,其中准确率也有限。如何在web端使用js实现人脸检测呢?为了实现Web端人脸识别,需要熟悉相关的编程语言和技术,如JavaScript、HTML、CSS、WebRTC等。同时还需要掌握相关的计算机视觉和人工智能技术。值得注意的是,由于Web端的计

股票分析必备工具:学习PHP和JS绘制蜡烛图的步骤 股票分析必备工具:学习PHP和JS绘制蜡烛图的步骤 Dec 17, 2023 pm 06:55 PM

股票分析必备工具:学习PHP和JS绘制蜡烛图的步骤,需要具体代码示例随着互联网和科技的快速发展,股票交易已经成为许多投资者的重要途径之一。而股票分析是投资者决策的重要一环,其中蜡烛图被广泛应用于技术分析中。学习如何使用PHP和JS绘制蜡烛图将为投资者提供更多直观的信息,帮助他们更好地做出决策。蜡烛图是一种以蜡烛形状来展示股票价格的技术图表。它展示了股票价格的

PHP与JS开发技巧:掌握绘制股票蜡烛图的方法 PHP与JS开发技巧:掌握绘制股票蜡烛图的方法 Dec 18, 2023 pm 03:39 PM

随着互联网金融的迅速发展,股票投资已经成为了越来越多人的选择。而在股票交易中,蜡烛图是一种常用的技术分析方法,它能够显示股票价格的变化趋势,帮助投资者做出更加精准的决策。本文将通过介绍PHP和JS的开发技巧,带领读者了解如何绘制股票蜡烛图,并提供具体的代码示例。一、了解股票蜡烛图在介绍如何绘制股票蜡烛图之前,我们首先需要了解一下什么是蜡烛图。蜡烛图是由日本人

PHP MVC 架构:构建面向未来的 Web 应用程序 PHP MVC 架构:构建面向未来的 Web 应用程序 Mar 03, 2024 am 09:01 AM

引言在当今快速发展的数字世界中,构建健壮、灵活且可维护的WEB应用程序至关重要。PHPmvc架构提供了实现这一目标的理想解决方案。MVC(模型-视图-控制器)是一种广泛使用的设计模式,可以将应用程序的各个方面分离为独立的组件。MVC架构的基础MVC架构的核心原理是分离关注点:模型:封装应用程序的数据和业务逻辑。视图:负责呈现数据并处理用户交互。控制器:协调模型和视图之间的交互,管理用户请求和业务逻辑。PHPMVC架构phpMVC架构遵循传统MVC模式,但也引入了语言特定的功能。以下是PHPMVC

js和vue的关系 js和vue的关系 Mar 11, 2024 pm 05:21 PM

js和vue的关系:1、JS作为Web开发基石;2、Vue.js作为前端框架的崛起;3、JS与Vue的互补关系;4、JS与Vue的实践应用。

'PHP 面向对象编程设计模式:理解 SOLID 原则及其应用” 'PHP 面向对象编程设计模式:理解 SOLID 原则及其应用” Feb 25, 2024 pm 09:20 PM

SOLID原则是面向对象编程设计模式中的一组指导原则,旨在提高软件设计的质量和可维护性。由罗伯特·马丁(RobertC.Martin)提出,SOLID原则包括:单一职责原则(SingleResponsibilityPrinciple,SRP):一个类应该只负责一项任务,并且这个任务应该被封装在类中。这样可以提高类的可维护性和可复用性。classUser{private$id;private$name;private$email;publicfunction__construct($id,$nam

PHP扩展开发:如何设计自定义函数以支持面向对象编程? PHP扩展开发:如何设计自定义函数以支持面向对象编程? Jun 01, 2024 pm 03:40 PM

PHP扩展可以支持面向对象编程,通过设计自定义函数来创建对象、访问属性和调用方法。首先创建自定义函数实例化对象,然后定义获取属性和调用方法的函数。实战中,我们可以自定义函数来创建一个MyClass对象,获取其my_property属性,并调用其my_method方法。

golang函数在面向对象编程中高并发场景下的应用 golang函数在面向对象编程中高并发场景下的应用 Apr 30, 2024 pm 01:33 PM

在面向对象编程的高并发场景中,函数在Go语言中具有广泛应用:函数作为方法:函数可附加到结构体,实现面向对象编程,方便操作结构体数据和提供特定功能。函数作为并发执行体:函数可作为goroutine的执行体,实现并发任务执行,提升程序效率。函数作为回调:函数可作为参数传递给其他函数,在特定事件或操作发生时被调用,提供灵活的回调机制。

See all articles