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


  • 相关阅读:
    HDU 4870 Rating(高斯消元 )
    iOS开发者账号详细介绍
    iOS之Block
    CocoaPods 安装和使用
    搭建自己的局域网服务器
    MarkDown语法收集
    正则表达式参考表
    iOS企业级应用打包与部署
    iOS开发之代码加载方式进入APP的界面
    shell脚本小Demo
  • 原文地址:https://www.cnblogs.com/missmz/p/7879888.html
Copyright © 2011-2022 走看看