webveuje/zuoye/js/对象1.md
2021-05-11 11:33:55 +08:00

3.8 KiB
Raw Permalink Blame History

对象练习

  • 什么是面向对象 什么是面向过程

  • 分别介绍对象的三大特征

  • 对象也是一个变量,但对象可以包含多个值(多个变量),每个值以 对呈现。

  • 定义一个对象 包含下列属性 name age sex addr(居住地) job(职业)
    包含下列方法 eat, sleep, playgame, watchtv ,read 函数体内自定义内容 不可为空

  • 给上面的题里的对象添加 height(身高) weight(体重) 属性并赋值

  • 给上面题里的对象添加 下列方法 meituan(点外卖 参数需要传手机号和居住地址 想吃的东西 返回下单成功) cook(做饭 需要传入时间 判断当前是哪一顿饭) travel(需要传入目的地 返回我去哪里玩啦) listenmusic(传入你喜欢的歌手 控制台打印最喜欢的曲子) work传入上班时间和下班时间 判断是否为996

  • 访问上面对象定义的以及添加后的所有属性(两种方式访问 先指明可以通过什么方式访问) 格式为 如name字段: 姓名:+name的属性值 通过调用不同的方法来制定行程(按照正常顺序调用上面对象的每一个方法)

  • 探索对象创建的其他方式 每种都举例尝试(不得少于三个方法 五个属性)

  • 探索遍历函数的所有属性

  • 五大主流浏览器的名字为键 内核为值 创建一个对象

  • 下面代码的执行结果是:

function person(firstname,lastname,age,eyecolor)
{
    this.firstname=firstname;
    this.lastname=lastname;
    this.age=age;
    this.eyecolor=eyecolor;
    return [this.firstname,this.lastname,this.age,this.eyecolor,this] 
}

var myFather=new person("John","Doe",50,"blue");
var myMother=person("Sally","Rally",48,"green");
console.log(myFather)
console.log(myMother) 
  • 下面代码的执行结果是什么 为什么

    const user = {
    name: "John"
    };
    user.name = "Pete"; 
    alert(user.name);
    
  • 如何访问下面对象的bird属性 对象为: var user={ fire:"fox", likes:{ type:"animal", bird:"fly" } } 给user对象添加一个属性名是name 值是user 给user对象添加一个方法 触发后可以删除user对象的likes里面的type

    创建一个对象 属性值为用户输入的自定义字符(最少三个属性)

  • 创建一个对象 包含如下内容

    • code 值为200

    • msg 值为"请求成功"

    • data 值为数组[]

    • data中包含如下内容

      • shopname 商品名

      • pic 商品图片

      • desc 商品简介

    • price 商品价格

      • kucun 库存

      • xiaoliang 销量

      • caozuo 操作

        注 写的时候把值赋上

  • 把上面那个题目用构造函数的重新写一份并生成4个内容不同的对象

  • 创建一个对象 包含如下内容

    • store 商店名称
    • addr 商店地址
    • sale: 方法 输出xxx商店正在大甩卖
  • 遍历上面的两个对象 并输出每个的键和值

  • 从外面给商店的对象增添一个shoplist的属性 该属性是一个数组 包含英雄名称跟英雄价格 货币单位以金币计算5个王者英雄就ok

  • 把第一题中的data中的对象里面的caozuo 属性删除

  • 分析

    var F = function () {}
      Object.prototype.a = function () {}
      Function.prototype.b = function () {}
    
      var f = new F()
      // 请问f有方法a  方法b吗
    
    
    
  • 写出p1,p2,person,obj,Function,Object等的原型链 function Person(){}

      let p1 = new Person()
      let p2 = new Person()
      let obj = {}
    
  • 通过原型链实现祖孙三层继承关系 (每个对象包含三个属性,两个方法)

  • 访问上个题中原型中的对象

  • 用用原型链继承封装dom操作

    • 创建元素
    • 修改属性
    • 修改内容
    • 添加事件