zoukankan      html  css  js  c++  java
  • 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


  • 相关阅读:
    来电科技-自助租借充电宝
    一次使用NodeJS实现网页爬虫记
    八爪鱼采集器
    杭州市职称系统
    zz
    有道智选-网易效果推广
    Ubuntu10.04下载并编译Android4.3源代码
    poj 1654 Area 多边形面积
    Android利用Looper在子线程中改变UI
    Notepad 快捷键 大全
  • 原文地址:https://www.cnblogs.com/missmz/p/7879888.html
Copyright © 2011-2022 走看看