目录
一,什么是对象?
二,创建一个对象
三,对象的嵌套
四,对象的属性与修改
1,使用点.运算符
2,使用[]符号
3,修改属性
五,给对象添加属性
六,查看与删除对象的属性
1,使用Object.keys(obj)方法查看对象所有属性
2,使用delete()方法删除对象属性
3,使用增强版for循环遍历对象元素
七,Object对象方法
1,Object对象的本身方法
2,Object对象自己的实例方法
八,函数与对象注意点
1,函数体里调用其他函数
2,函数体行数不超过50行
英文名object,翻译成中文就是对象。用英语的角度来说object就是物体实体,即使他看不见摸不着。中文的对象指的是女朋友。在计算机中,用英语的角度理解对象,就是说:放在内存里面的复杂数据集合,也叫做数据与方法的封装,是一种编程逻辑概念。
函数是对数据与代码的封装,假如再把函数及函数外的数据进行封装,那就是object,即对象。
将一些函数与对象封装起来就是对象,所谓封装在语法层面就是,把函数和变量用英文大括号{}包起来。使用:key:value的形式,value可以是对象的值,也可以是对象的地址。
key的值可以不符合标识符的命名规范,但是必须使用引号引起来,比如'12qw'=1。每个键值对之间使用英文逗号隔开。
//创建一个obj对象
var obj1 = {
str1: 'woaini',
"10p": 10
};
function f() {
console.log(1)
};
var obj1 = {
str1: 'woaini',
"10p": 10,
fun: f,
fun1: function() {
console.log(2)
}
};
obj1.fun();
obj1.fun1();
如果一个键的值是一个函数,则称这个键名为这个对象的方法。如果一个键的值是基本数据类型,则称这个键名为这个对象的属性。
即对象的属性仍然可以是一个对象。运算符.表示getattr的意思,即访问对象属性。
var obj1 = {
str1: 'woaini',
"10p": 10,
fun1: function() {
console.log(2)
},
obj_inn: obj2 = {
num: 1
}
};
console.log(obj1.obj_inn.num);
var obj1 = {
str1: 'woaini',
};
console.log(obj1.str1);
var obj1 = {
str1: 'woaini',
};
console.log(obj1['str1'])
记住键需要加上引号。
var obj1 = {
str1: 'woaini',
};
obj1.str1 = 666
console.log(obj1['str1'])
var obj1 = {
};
obj1.name = 'xiaoming';
obj1['age'] = 10;
console.log(obj1.age, obj1.name);
var obj1 = {
str1: 'woaini',
};
obj1.str1 = 666
obj1.age = 18
console.log(Object.keys(obj1))
// [ 'str1', 'age' ]
var obj1 = {
str1: 'woaini',
};
obj1.str1 = 666
obj1.age = 18
console.log(delete obj1.age)
// true
删除一个对象里不存在的属性不仅不会报错而且还会返回true。当试图删除一个无法删除的属性时,则会返回false。删除对象属性:实际上是与相关的对象进行解绑。
var obj1 = {
str1: 'woaini',
};
obj1.str1 = 666
obj1.age = 18
for (var item in obj1) {
console.log(obj1[item])
}
这里讲解关于Object对象的一些知识,它类似于基类,是所有对象的老大。
Object本身就是一个对象,可以给他添加属性和方法。利用键值对形式给对象添加的方法叫做Object本身方法。只能使用Object.funcname()来执行。
Object.add = function() {
console.log(1)
}
Object.add()
使用Object.prototype.name()形式添加的方法称为对象的实例方法。可以被任意对象使用。
function f() {
console.log(1)
};
Object.prototype.fun = f;
var obj = {}
obj.fun()
可以再一个函数的函数体里面调用另一个函数,即函数名+()。
每个函数的函数体不超过50行,如果超过的话最好拆分,使用函数搭积木实现功能。