Files
weblianxi/js/对象1.md
2021-06-26 20:24:07 +08:00

122 lines
3.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 对象练习
* 什么是面向对象 什么是面向过程
* 分别介绍对象的三大特征
* 对象也是一个变量,但对象可以包含多个值(多个变量),每个值以 对呈现。
* 定义一个对象 包含下列属性 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操作
* 创建元素
* 修改属性
* 修改内容
* 添加事件