JS|JS 对象基本用法
6种基本数据类型
null undefined string number boolean symobl
5种falsy值
null undefined 0 NaN ''(空字符串不能有空格)
对象
【JS|JS 对象基本用法】是js的第七种数据类型,也是唯一的一种复杂类型。
注意
- js对象的键名都是字符串(es6之后还可以是symbol)
- 引号可以省略,省略后只能写标识符(是指只能包括字母、数字、下划线、美元符号,且不能是数字开头)
- 引号就算省略了,也还是字符串
-
Object.keys(obj)}
这个API可以正确查看对象的key
[]
- 用
xxx in object
返回布尔值查看是否含有xxx属性 -
obj.xxx === undefined
不是确定xxx是否是obj的属性
- 查看自身属性+共有属性(原型)
console.dir(obj)
- 直接赋值
obj.name = 'xx'
这里name是字符串,可以改为obj['name'] = 'xx'
- 批量赋值
Object.assign(obj,{age: 18,gender: 'man'})
- 生产环境中不能使用
obj.__proto__.toString='xxx'
- 准确的使用是在构造函数上修改
Object.prototype.toString = 'xxx'
- 修改隐藏属性(原型,这个在创建时修改)用
Object.create()
let common = {kind: 'human'} let obj = Object.create(common) obj.name = 'lei' let obj2 = Object.create(common) obj2.name = 'wang'
总结: 要改就一开始改,别后来再改
- 原型里包含共有属性
- 字面量
let obj = {name: 'liu', age: 18}
- new 构造函数
let obj = new Object({name: 'liu', age: 18})
使用
delete
操作符 delete obj.name
或delete obj['name']
查看对象的属性
- 查看自身所有属性
Object.keys(obj)
- 查看自身 + 共有属性
console.dir(obj)
- 查看属性是自身的还是共有的
obj.hasOwnProperty('toString')
- 直接赋值
obj.name = 'xx'
这里name是字符串,可以改为obj['name'] = 'xx'
- 批量赋值
Object.assign(obj, {name: 'z', age: 18})
- 修改共有属性
- 生产环境中不能使用
obj.__proto__.toString='xxx'
- 准确的使用是在构造函数上修改
Object.prototype.toString = 'xxx'
- 生产环境中不能使用
- 修改隐藏属性用
Object.create()
let common = {kind: 'human'} let obj = Object.create(common) obj.name = 'lei' let obj2 = Object.create(common) obj2.name = 'wang'
总结: 要改就一开始改,别后来再改
都是用来判断属性是否属于对象。
第一个有点问题是它判断的属性如果是对象继承的可枚举属性则也会返回
true
, 而 hasOwnProperty
则只会返回自身的,不包含属于原型的属性。推荐阅读
- 做一件事情的基本原理是什么()
- dubbo基本认识
- 数组常用方法一
- jQuery插件
- iOS面试题--基础
- HTML基础--基本概念--跟着李南江学编程
- 口红选得好,对象不愁找......
- 7、前端--jQuery简介、基本选择器、基本筛选器、属性选择器、表单选择器、筛选器方法、节点操作、绑定事件
- 一般模型化关系——从模型是什么到如何起作用的基本答案
- canvas(一)基本用法