在学习js对象中的一些小记录


一、如何创建对象

1.对象的字面量表达式,称为json(javascript object Notation);


对象格式:对象={属性名1:属性值1,属性名2:属性值2……}:


注:属性名可以是标识符,字符串,数值;属性值可以是:可以是任意数值,对象和函数;

eg: {name:张三,“age”:19,2:3}


{ car:{jc:“摩托”, wl:“德邦物流车”……},fun:function(){alert(“像这样的函数称为匿名函数”)}}




2.对象的new表达式:

使用new表达式创建对象的过程称为实例化,在实例化中对象的创建是根据模板类创建的,

eg: var obj=new object();
obj.name=“李四”;
obj.age=19;
obj.like=function(){alert(“匿名函数”)};
obj.info={width:10,height:20};


总结:两种创建对象的方式不同,但是使用方式是相同的;

不同:
字面量:创建简单,常用;
实例化对象:创建对象的模板类new实例化模板,保存常用方法,属性;

二、js对象的操作


如何遍历对象


for…in 语句用于对数组或者对象的属性进行循环操作。

for … in 循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。

for (变量 in 对象) {
    // 在此执行代码
}
dataObj = {
name : "gao",
age : 26
};
for(var d in dataObj) {
    var d; // 属性名name ,age
    var dataObj[d]; //属性值gao,26
}
 
 var obj = {
         'userName':'李白',
         'hobby':['下棋','象棋','围棋'],
         'age':18
         };
         for(var key in obj){
         //注意使用【】运算符
         console.log(obj[key]);//Array(3) [ "下棋", "象棋", "围棋" ]
         }

访问对象的属性

1.通过 . 的方式

代码如下(示例):

var obj = {
    name : "xiaoming",
    age : 18,
    show : function (girlfriend) {
        console.log(this.name + "的女朋友是" + girlfriend);
    }
};
// 访问属性值
console.log(obj.name);   // 输出:"xiaoming"
console.log(obj.age);    // 输出:18



2. 通过 [ ] 方式

代码如下(示例):

var obj = {
    name : "xiaoming",
    age : 18,
    110 : "110",
    show : function (girlfriend) {
        console.log(this.name + "的女朋友是" + girlfriend);
    }
};
// 访问属性值
console.log(obj["name"]);   // 输出:"xiaoming"
var age = "age";
console.log(obj[age]);      // 输出:18
console.log(obj["110"]);    // 输出:"110"


js对象其他操作

1.Object.keys()

描述:获取对象内所有的属性(key)
语法:Object.keys(对象名)
例子:
     var obj = {
     'userName':'李白',
     'hobby':['下棋','象棋','围棋'],
     'age':18
     };
     var result=Object.keys(obj);
     console.log(result);//Array(3) [ "userName", "hobby", "age" ]

2.delete

描述:删除对象内的一个属性
语法:delete 对象名.属性名
    delete 对象名[属性名]
例子:
     var obj = {
     'userName':'李白',
     'hobby':['下棋','象棋','围棋'],
     'age':18
     };
     var result=delete obj.age;
     console.log(result);//true
 注意:无论删除成功还是失败 都返回true

3.in

描述:检查对象是否包含一个属性
语法:属性名 in  对象名
例子:
     var obj = {
     'userName':'李白',
     'hobby':['下棋','象棋','围棋'],
     'age':18
     };
     var result="123"in obj;
     console.log(result);//false


补充

通过.方式获取属性值,key是静态的


var aa = {name: "zhang", age: 18};
console.log(aa.name);

通过[]获取属性值, key是动态的,可以是字符串,或者数字的形式

var bb = {"apple": 3, "pear": 2}
var cc = {1: "number1", 2: "number2"}
console.log(bb["apple"]);
console.log(cc[1]);  // 注意这里的写法跟数组容易混淆,cc仍是对象,不是数组

2021年4月2日补充:

            for in  --> ES5标准   遍历key值 索引
            for of  --> ES6标准   遍历value值  对象
            for of  ---> 只能用于数组的遍历
            for in  ---> 不但可以用于数组的遍历,还可以用于遍历对象中的属性集
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值