JS-对象基本用法
定义
- 无序的 键(key)值(value)对组合
- 声明对象的方式
let obj = { 'name': 'zhangdeshou', 'age': 18 }
let obj = new Object({'name': 'zhangdeshou'})
let obj=Object.create({name:'saint'})// 悄悄话,如此创建的对象在原型链上哦
console.log({ 'name': 'zhangds, 'age': 18 })//不声明直接使用
中括号语法:obj['key']----推荐
点语法:obj.key
其它 :obj[key]---key值是一个变量是使用此 语法
注obj['name'] == obj.name != obj[name] name 是字符串
obj[key]:value ----[]号表示属性名是变量,先求值,再转字符串
- 细节
key是字符串,自然可以包含任何字符,请习惯性的加引号''
当然如果省略引号的话,其书写规范应该满足 标识符的书写规范
除了字符串,Symbol也可以做属性名 ,但是其在使用时有点特殊。见文档
文章图片
Symbol作为对象key时
文章图片
image.png
let a=Symbol()
let obj={
[a]:'zds'
}
console.log(obj) //{Symbol(): "zds"}
奇怪的属性值
所有属性名都会自动变成字符串
let obj ={
1:'a',
1e2:true,//会自动计算为100再转为字符串
0XXF:false //会自动转化为10进制再转为字符串
}
原型与原型链
【JS-对象基本用法】隐藏属性
JS里每个对象都有一个隐藏属性
这个隐藏属性储存着其共有属性组成的对象的地址
这个共有属性组成的对象叫做原型
也就是说隐藏属性储存着原型的地址
let obj=Object.create({name:'jack'}) //在原型上添加属性 本身并没有 隐藏起来了
let obj1=new Object({name:'zhangdehsou'})console.log(obj)
console.log(obj1)
文章图片
image.png 增 改 直接赋值
let obj = {name:'frank'}
obj.name = 'jane'
obj['name'] ='jane'
obj.['na'+'me'] ='jane'
let key = 'name' obj[key] =='jane'
错误 obj[name] ='jane' --因为name是一个变量
批量赋值
Object.assign(obj,{1:'p1',2:'p2'})
共有属性的增改(一般不要修改)
无法通过自身修改或增加共有属性
修改原型的共有属性 (不推荐)
obj.proto.toString ='xxx'
window.Object.prototype.toString = 'xxx'
obj.proto=null ---删除共有属性,值也可以是一个对象
Object.create let obj = Object.create(common)
删 obj.name = undefined ---只删除属性值
delete obj.name ---删除属性名和属性值
delete obj['name'] ---删除属性名和属性值
'name' in obj --- 检查obj是否含有属性名
'name' in obj && obj.xxx ===undefined ---有属性名,但是没有值
查 读取对象自身所有的属性 Object.keys(obj)
读取对象的属性值 Object.values(obj)
读取对象的属性名和属性值 Object.entries(obj) ----得到是length个数组
读取共有属性 console.dir(obj)或者obj.proto (不推荐)
'toString' in obj ---检查是否有这个属性--自身属性和共有属性都算
obj.hasOwnProperty('name') ---检查这个属性是否是自身属性
'name' in obj和obj.hasOwnProperty('name') 的区别 都是两种查看属性是不是在对象里的方法
前者自身属性和共有属性都返回true,后者仅仅是自身属性才返回true
文章图片
xmind
推荐阅读
- 做一件事情的基本原理是什么()
- dubbo基本认识
- 数组常用方法一
- jQuery插件
- iOS面试题--基础
- HTML基础--基本概念--跟着李南江学编程
- 口红选得好,对象不愁找......
- 7、前端--jQuery简介、基本选择器、基本筛选器、属性选择器、表单选择器、筛选器方法、节点操作、绑定事件
- 一般模型化关系——从模型是什么到如何起作用的基本答案
- canvas(一)基本用法