• js面向对象(1)---如何创建对象


    JavaScript是一个基于对象的编程语言,几乎所有的操作都涉及到对象 可是他又不是一个真正的面向对象语言 因为缺少 class(类)  新的es6规范 增加了class类 可以更方便的声明和继承一个对象的属性和方法  本篇只是对es5中js对象的一个总结 关于ess6的新特性在后面会有介绍

    //最开始的对象编程 实例化出来的对象之间没有联系 存在重复声明
    /* var person1={}
    person1.name='jack'
    person1.age=15

    var person2={}
    person2.name='bobo'
    person2.age=20

    console.log(person1)
    console.log(person2)*/

    //构造函数 实例对象属性都基于构造函数的属性 会重复声明占内存
    /* function person(name,age){
    this.name=name
    this.age=age
    this.sex=function(){
    alert('不告诉你')
    }
    }

    var person1=new person('jack',15)

    var person2=new person('bobo',20)

    console.log(person1.name)//jack
    console.log(person2.age)//20

    console.log(person1.constructor==person)//true 实例对象person1的构造函数
    console.log(person2.constructor==person)//true 实例对象person2的构造函数

    console.log(person1 instanceof person)//true 实例对象和原型对象的关系
    console.log(person2 instanceof person)//true

    console.log(person2.sex == person1.sex)//false 实例化之后的对象指向不同的内存位置
    */

    //prototype 面向对象的模式
    function person(name,age){
    this.name=name
    this.age=age
    }
    person.prototype.sex=function(){
    alert('不告诉你')
    }

    var person1=new person('jack',15)

    var person2=new person('bobo',20)

    console.log(person1.sex==person2.sex)//true 继承了同一个原型对象的prototype


  • 相关阅读:
    网页信息抓取 Jsoup的不足之处 httpunit
    spring boot @ConfigurationProperties
    git冲突解决方案 Intellij IDEA
    HTTP 和 Socket 区别
    java.lang.reflect.Method
    dubbo hessian+dubbo协议
    4、注解反射生成SQL语句
    3、解析注解
    2、自定义注解
    1、JDK自带注解
  • 原文地址:https://www.cnblogs.com/missmz/p/7879888.html
Copyright © 2020-2023  润新知