zoukankan      html  css  js  c++  java
  • 对象的创建方法

    1 对象字面量
    var hero = {
      name: '黄忠',
      weapon: '弓箭',
      equipment: ['头盔', '靴子', '盔甲'],
      blood: 100,
      attack: function () {
        console.log(this.name + ':射箭');
      },
      run: function () {
        console.log(this.name + ': 加速跑');
      }
    }
    console.log(hero.name);
    console.log(hero.equipment);

    hero.attack();
    hero.run();


    2 new Object()
    Object 是一个构造函数
    new 的方式来调用构造函数
    new Object() 调用构造函数 会在内存中创建一个对象
      var hero = new Object(); // 创建了一个空的对象
      // 打印一个不存在的属性 输出 undefined
      // console.log(hero.name);
      // 属性
      // JavaScript的动态特性
      hero.name = '黄忠';
      hero.weapon = '弓箭';
      hero.equipment = ['头盔', '靴子', '盔甲'];
      hero.blood = 100;
      // 方法
      hero.attack = function () {
        console.log(this.name + ': 射箭');
      }
      hero.run = function () {
        console.log(this.name + ': 加速跑')
      }

    3 工厂方法
    function createHero(name, weapon, equipment, blood) {
      var hero = new Object(); //返回一个空的对象
      // 属性
      hero.name = name;
      hero.weapon = weapon;
      hero.equipment = equipment;
      hero.blood = blood;
      // 方法
      hero.attack = function () {
        console.log(this.name + ':攻击');
      }
      hero.run = function () {
        console.log(this.name + ':加速跑');
      }
      return hero;
    }

    var hero1 = createHero('黄忠', '弓箭', ['头盔', '靴子'], 100);
    var hero2 = createHero('刘备', '剑', ['头盔', '盔甲'], 100);


    // 4 自定义构造函数
    // new Object();
    // new Hero();
    // 帕斯卡命名 第一个单词的第一个字母大写,后续的每一个单词的第一个字母都大写
    // 自定义构造函数
    function Hero(name, weapon, equipment, blood) {
    // this 动态的给对象增加成员
    // this 指向了当前对象
      this.name = name;
      this.weapon = weapon;
      this.equipment = equipment;
      this.blood = blood;

      this.attack = function () {
        console.log(this.name + ':攻击');
      }
      this.run = function () {
        console.log(this.name + ': 加速跑');
      }
    }

    var hero1 = new Hero('黄忠', '弓箭', ['头盔', '靴子'], 100);
    var hero2 = new Hero('刘备', '剑', ['头盔', '盔甲'], 100);

  • 相关阅读:
    邻居子系统 之 更新neigh_update
    邻居子系统 之 邻居项查找neigh_lookup、___neigh_lookup_noref
    遍历集合的方法总结
    Java集合中List,Set以及Map等集合体系
    八大数据结构分类
    servlet和jsp的区别
    Web前端和Web后端的区分
    (转)为什么JavaWeb放弃jsp,去做前后端分离
    面向对象的三大基本特征和五大基本原则
    (转)2019年给Java编程初学者的建议(附学习大纲)
  • 原文地址:https://www.cnblogs.com/pxxdbk/p/12560974.html
Copyright © 2011-2022 走看看