JavaScript面向对象

面向对象编程是用抽象方式创建基于现实世界模型的一种编程模式。它使用先前建立的范例,包括模块化,多态和封装几种技术。相对于“一个程序只是一些函数的集合,或简单的计算机指令列表。”的传统软件设计观念而言,面向对象编程可以看作是使用一系列对象相互协作的软件设计。 在 OOP 中,每个对象能够接收消息,处理数据和发送消息给其他对象。每个对象都可以被看作是一个拥有清晰角色或责任的独立小机器。

JavaScript可用方法作类。定义一个类跟定义一个函数一样简单。在下面的例子中,我们定义了一个新类Person。

        // 创建类Person
        function Person(){

对象
通过 new 可以创建对应类的对象

        // 创建类Person
        function Person(){

        }
        var pe = new Person();

通过typeof 我们可以得到创建出来的是一个object 类型

        // 创建类Person
        function Person(){

        }
        var pe = new Person();
        console.log(typeof pe);

在这里插入图片描述
属性
可以未类添加属性来方便传入数据,将其用this来保存可以在类内进行使用。

        // 创建类Person
        function Person(data ){
            this.data = data;
            console.log(this.data);
        }
        // 创建对象
        var pe = new Person( "Data" );

在这里插入图片描述
方法
通过prototype 可以创建类的方法。让每一个方法实现自己特定的功能切不会影响其他 的方法是我们的目的

 // 创建类Person
        function Person(data ){
            this.data = data;
            console.log(this.data);
        }
        Person.prototype.method = function(){
            console.log("这是一种创建方法的方式");
        }
        // 创建对象
        var pe = new Person( "Data" );
        //调用方法
        pe.method();

在这里插入图片描述

 // 创建类Person
        function Person(data ){
            this.data = data;
            console.log(this.data);
        }
        Person.prototype = {
            method : function(){
                console.log("这是批量创建的方法")
            },//使用逗号分隔
            method2 : function(){
                console.log("这是批量创建的第二个方法")
            }
        }
        // 创建对象
        var pe = new Person( "Data" );
        //调用方法
        pe.method();
        pe.method2();

在这里插入图片描述
关于this指向
this永远指向函数的最终调用者
① this指向的,永远只可能是对象
②this指向谁,永远不取决于this写在哪,而是取决于函数在哪调用。
③ this指向的对象,我们称之为函数的上下文context,也叫函数的调用者
当然我很可以直接输出this来判断this的指向

 // 创建类Person
        function Person(data ){
            this.data = data;
            console.log(this.data);
        }
        Person.prototype = {
            method : function(){
                console.log(this)
            },//使用逗号分隔
            method2 : function(){
                console.log(this)
            }
        }
        // 创建对象
        var pe = new Person( "Data" );
        //调用方法
        pe.method();
        pe.method2();

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值