Javascript笔记--Objects

本文深入讲解JavaScript中的对象声明、初始化、检索、反射、遍历及删除等操作,并介绍局部类的使用,帮助读者掌握对象的基本操作及提升代码的灵活性。

    Javascript的简单数据类型包括: 数字,字符串,true/false,null 和undefined。 其他所有值都是对象. 数组是对象,方法也是对象。属性值是除开undefined值以外的任何值。JavaScript的属性是可以变的。和C#的dynamic差不多,动态类.

       一. 对象声明以及初始化.

            Notes:  1.属性包含"-"和" "时候需要加上引号,对于"_"不需要加引号

var stooge={
        "first Name":"Frank",
        "last Name":"Zhang"
    }var person ={
        name:"Frank",
        Age:23,
 }

       二.检索. 

            Notes: 1.  在检索对象的值可以通过[]和. 来获取.

                      2. 如果在赋值的时候,该属性不存在。那么会自动创建该属性并赋值.

                      3.  检索中如果.propertyName不存在将输出undefine;

                      4.  获取undefine, null 数据的.PropertyName 将会报错, 如果数据是非undefine和非null的将不会报错.即使是赋值的数字.          

    console.log(person.name);

    stooge["middle Name"]="C"; //属性不存在,重新创建该属性
    console.log("My full name is "+stooge["first Name"]+"."+stooge["middle Name"]+"."+stooge["last Name"]); //Frank.C.Zhang

console.log(person.vip); //不报错,输出undefine try{ console.log("test"+person.Vip.Msg); // .vip未声明,然后获取.msg对象就会报错 }catch(ex){ console.log(ex.message); // 输出Cannot read property 'Msg' of undefined } person.Vip = null; try{ console.log("test"+person.Vip.Msg); // .vip未声明,然后获取.msg对象就会报错 }catch(ex){ console.log(ex.message); // 输出Cannot read property 'Msg' of null } person.Vip = 1; try{ console.log(person.Vip.Msg); // 输出undefine }catch(ex){ console.log(ex.message); }

           三. 反射

     console.log(person.hasOwnProperty("name")); //true
     console.log(typeof(person.Age)); //number
     console.log(typeof(person.toString)); //function

          四.遍历

            Notes: 1.遍历对象的时候,name是对应的属性名称.而不是属性值;

                      2. 获取属性值还是要通过[]和.获取;

for(var name in stooge){
        console.log(name); 
        console.log(typeof(name));

        console.log(stooge[name]);
        console.log(typeof(stooge[name]));
    }

          五.删除.

           Notes: 1.删除属性通过delete obj.propertyName删除.

          六. 局部类

           Notes: 前面的类我们都是用的全局变量,全局变量用的过多会降低程序的灵活性, 以及开发中会遇到命名重复的问题. 在C#中有命名空间,在Java中也有package,其实在JavaScript我们可以通过命名一个对象。然后将自己特定的数据封装到对象中。来达到隔离效果。

var MyNamespace ={};
    MyNamespace.person ={
         name:"Frank",
         Age:23
    }

    console.log(MyNamespace.person.name);

 

          

       

转载于:https://www.cnblogs.com/FourLeafCloverZc/p/4346013.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值