Ashun's 技術駅 Ashun's 技術駅
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • Vue
  • 现代web布局
  • React
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 技术资源
  • 第一阶段

    • HTML
  • 第二阶段

    • JavaScript
  • 第三阶段

    • Vue
  • 第四阶段

    • 实战项目
  • 每周测试

    • 每周
  • 其他

    • Vue引入UI框架
    • Web前端面试
    • Vue3-resource
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 福利资源
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Ashun

前端界的小学生
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • Vue
  • 现代web布局
  • React
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 技术资源
  • 第一阶段

    • HTML
  • 第二阶段

    • JavaScript
  • 第三阶段

    • Vue
  • 第四阶段

    • 实战项目
  • 每周测试

    • 每周
  • 其他

    • Vue引入UI框架
    • Web前端面试
    • Vue3-resource
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 福利资源
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 01变量
  • 02常量
  • 03js数据类型
  • 04运算、判断、条件
  • 05数字类型
  • 06字符串
  • 07布尔值
  • 08空值
  • 09未定义
  • 10唯一值
  • 11对象
    • 1、创建对象
      • 获取值(value)
    • 2、迭代对象的key和value
      • es5写法
      • 案例:对象转【数组】
      • es6写法✨
    • 3、对象的增删改查操作
      • 增
      • 删
      • 改
      • 查
    • 4、在对象里面的this关键字
      • 1、方法
      • 2、方法
    • 5、对象的分类
  • 13数组
  • 14函数
  • 15日期对象
  • 16正则表达式
  • 17异常错误对象
  • 18BOM 浏览器对象模型
  • 19DOM文档对象模型
  • 20json
  • 21Ajax
  • 22jQuery
  • 23函数进阶
  • 24面向对象
  • 《javascript(es5)》
ashun
2022-02-14
目录

11对象

# 对象

# 1、创建对象

字面量创建法

    var obj = {
        name: "娜美", 	//name是键(key),娜美是值(value)
        age: 18
    }
1
2
3
4

# 获取值(value)

    var obj = {
        name: "娜美", 	//name是键(key),娜美是值(value)
        age: 18
    }
    console.log(obj.name); //娜美✨✨
   // console.log(obj["name"]);//娜美  //也可以这样的写法
1
2
3
4
5
6

对象的value值可以写任意的值,而key只能写字符串

注意,对象没有length属性

# 2、迭代对象的key和value

# es5写法

只能迭代对象的value值

var obj = {
    name: "娜美", 	//name是键(key),娜美是值(value)
    age: 18
}
for (key in obj) {
    console.log(obj[key]) //娜美,18
    console.log(key);//name、age
}
1
2
3
4
5
6
7
8
# 案例:对象转【数组】
var obj = { name: "娜美", age: 18, sex: "女" };
var arr = []
for (key in obj) {
    arr.push(obj[key]) //arr.unshift()这种是反着来了
}
console.log(arr);//["娜美", 18, "女"]
1
2
3
4
5
6

# es6写法✨

转【数组】

var obj = {
    name: "娜美", 	//name是键(key),娜美是值(value)
    age: 18
}
console.log(Object.keys(obj))   //key ["name", "age"]
console.log(Object.values(obj))//value  ["娜美", 18]
1
2
3
4
5
6

# 3、对象的增删改查操作

# 增

var obj = {
    name: "娜美", 	//name是键(key),娜美是值(value)
    age: 18
}
obj.sex = "女"
// obj["sex"] = "男"  //也这可以这样的写法
console.log(obj);//{name: "娜美", age: 18, sex: "女"}
1
2
3
4
5
6
7

# 删

var obj = {
    name: "娜美", 	//name是键(key),娜美是值(value)
    age: 18,
    sex: "女"
}
delete obj.sex
console.log(obj);//{name: "娜美", age: 18}
1
2
3
4
5
6
7

# 改

var obj = {
    name: "娜美", 	//name是键(key),娜美是值(value)
    age: 18
}
// obj["name"] = "大和" //也这可以这样的写法
obj.name = "妮可罗宾"
console.log(obj); //{name: "妮可罗宾", age: 18}
1
2
3
4
5
6
7

# 查

var obj = {
    name: "娜美", 	//name是键(key),娜美是值(value)
    age: 18,
    sex: "女"
}
// console.log(obj["name"]); //也这可以这样的写法
console.log(obj.name); //娜美
console.log(Object.keys(obj));//["name", "age", "sex"]
console.log(Object.values(obj));//["娜美", 18, "女"]
1
2
3
4
5
6
7
8
9

# 4、在对象里面的this关键字

关键字"this"指向了当前所在的上下文对象

var obj = {
    name: "娜美", 	//name是键(key),娜美是值(value)
    age: 18,
    sayHello: function () {
        console.log(this);//obj对象 {name: "娜美", age: 18, sayHello: ƒ}
        console.log(this.name);//娜美
    }
}
obj.sayHello()
1
2
3
4
5
6
7
8
9

this 是对象的指针,指的当前上下文手指的对象

隔壁老王的儿子,不是他儿子

隔壁刘王的儿子,不是他儿子

# 1、方法

var obj = {
    name: "阿丽塔",
    age: 18,
    sex: "女",
    say: function () {
        console.log(this);//{name: "阿丽塔", age: 18, sex: "女", say: ƒ}
    },
};
obj.say();
1
2
3
4
5
6
7
8
9

这种是特殊了

console.log(this);//window
1

# 2、方法

var obj = {
    name: "娜美",
    obj2: {
        name: "妮可罗宾",
        say: function () {
            console.log(this); //{name: "妮可罗宾", say: ƒ}
        }
    }
}
obj.obj2.say()
// obj["obj2"].say() //也可以这样子写
1
2
3
4
5
6
7
8
9
10
11

# 5、对象的分类

//宿主对象(根据js所处的环境的对象)
dom(document object model 文档对象模型) 
bom(browser objcet model 浏览器对象模型)

//本地对象(需要实例化的,js自带的对象)
new Object()
new Function()
new Array()
new String()
new Boolean()
new Number()
new Date()
new RegExp()
new Error()

//内置对象(不需要实例化的对象)
Global
Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
编辑 (opens new window)
上次更新: 2022/04/24, 13:33:34
10唯一值
13数组

← 10唯一值 13数组→

最近更新
01
课件-react路由-V6
01-22
02
课件-国际化
01-22
03
课件-redux-toolkit
01-22
更多文章>
Theme by Vdoing | Copyright © 2019-2024 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式