对象
js中的对象也可以看成是一个变量,但这个变量中可以继续包含变量,并把里面的变量称为属性,通常属性和对应属性的值是以键值对(key:value)的形式显示的。此外,对象中可以放入函数,放在对象中的函数也可以叫做方法。js中几乎所有事物都被看成是对象,但注意基本数据类型并非对象。
创建对象的方法
- var 对象名 = {}
- var 对象名 new Object(); 注意new之后的首字母大写
- var 对象名 Object.create(null)
对象里面存储的内容可以是任意数据类型的
查看方法
- object.keys() 作用是可以查看对象的所有属性
- 查看当前对象中是否有该属性 1. in运算符 2.hasOwnproperty
遍历对象的方法
遍历对象一般使用 for循环
var xyphone = {
phone: "华为",
money: 5000,
px: 100000000,
cell: "5000毫安",
screen: "6.1寸",
system: "鸿蒙",
};
//创建新的属性
xyphone.cpu = "麒麟9000";
console.log(xyphone);
//输出一下 cpu已经添加进去了
console.log(delete xyphone.px); //删除对象 如果成功返回的为true 失败为flase
//var 对象名 new Object(); 注意new之后的首字母大写
var dog = new Object();
dog.eat = "吃狗粮";
dog.sleep = "呼呼呼";
console.log(dog);
//var 对象名 Object.create(null)
var cat = Object.create(null);
cat.eat = "吃老鼠";
cat.cry = "喵喵喵";
//object.keys() 作用是可以查看对象的所有属性
console.log(Object.keys(xyphone));
//查看当前对象中是否有该属性 1. in运算符 2.hasOwnproperty 有返回true 无返回flase
console.log("phone" in xyphone);
console.log(xyphone.hasOwnProperty("money"));
for (var i in xyphone) {
console.log(xyphone[i]);
}
内存
为什么第一个变量a不会变,而obj中的张三会变成李四呢?
var a = 2;
var b = a;
b = 4;
console.log(a);
var obj = {
name: "张三"
};
var obj1 = obj;
obj1.name = "李四";
console.log(obj1.name);