• JS对象中属性的增删改查


    对象属于一种复合的数据类型,在对象中可以保存多个不同数据类型的属性
    
    对象的分类:
              1.内建对象
                    -在ES标准中定义的对象,在任何的ES的实现中都可以使用
                    -比如:Math String Number Boolean Function Object...
                2.宿主对象
                    -由js的运行环境提供的对象,目前来讲主要指由浏览器提供的对象
                    -比如BOM DOM
                3.自定义对象
                    -由开发人员自己创建的对象
    
    创建对象:
    方法一:
    
    使用new关键字调用的函数,是构造函数constructor(构造函数是专门用来创建对象的函数)
    
    使用typeof检查一个对象时,会返回object
    
    var obj = new Object();
    		
    console.log(typeof obj);//object
    方法二: 使用对象字面量来创建一个对象
    
    使用对象字面量,可以在创建对象时,直接指定对象中的属性
                语法:{属性名:属性值,属性名:属性值....}
                    对象字面量的属性名可以加引号也可以不加,建议不加,
                    如果要使用一些特殊的名字,则必须加引号
                
                    属性名和属性值是一组一组的名值对结构,
                        名与值之间使用:连接,多个名值对之间使用逗号隔开
                        如果一个属性之后没有其他的属性了,就不要写逗号
    
              var  obj2 = {
    				name:"猪八戒",
    				age:23,
    				gender:"男"
    				test:{name:"沙和尚"}
    					};
    	console.log(obj2);
    方法三:使用工厂方法创建对象 ,通过该方法可以大批量的创建对象 
    
    function creatPerson(name,age,gender){
    		//创建一个新的对象
    		var obj = new Object();
    		
    		//向对象中添加属性
    		obj.name = name;
    		obj.age = age;
    		obj.gender = gender;
    		obj.sayName = function(){
    			alert(this.name);
    		}
    		//将新的对象返回
    		return obj;
    	}
    	var obj2 = creatPerson("猪八戒",28,"男");
    	obj2.sayName()
    向对象中添加属性:
    在对象中保存的值称为属性
            向对象中添加属性
            语法:
                    对象.属性名 = 属性值;
    
            //向object中添加一个属性值
    	obj.name = "zy";
    	//向obj中添加gender属性
    	obj.gender = "男";
    	//向obj中添加age属性
    	obj.age = 18;
     对象的属性名不强制要求遵守标识符的规范,什么乱七八糟的名字都可以使用,但是我们使用时还是尽量按照标识符的规范去做。
    
    如果使用特殊的属性名,不能使用对象.属性名的方式来操作
    
    需要使用另一种方式
                        语法:对象["属性名"] = 属性值
    
    使用[ ]这种形式去操作属性,更加的灵活
            在[ ]中可以直接传递一个变量,这样变量值是多少就会读取那个属性
    
            obj["123"] = 789;
    	obj["nihao"] = "nihao";
    	
    	var n = "123";
    	console.log(obj[n]);//789  因为n的值为"123",而obj对象"123"的属性值为789
    JS中的属性值可以是任意的数据类型,甚至它也可以是一个对象
    
     
    
    读取对象中的属性
    语法:对象.属性名
    
    如果读取对象中没有的属性,不会报错而是返回undefined
    
    in 运算符
                -通过该运算符可以检查一个对象是否含有指定的属性
                        如果有则返回true,没有则返回false
                -语法:
                    "属性名" in 对象
    
    		//检查obj中是否含有test2属性
    		console.log("test2" in obj);//false
    		console.log("test" in obj);//true
    修改对象的属性值
    语法:对象.属性名 = 新值
    
    obj.age = 22;
    删除对象的属性
    语法:delete 对象.属性名
    

      

  • 相关阅读:
    Spring IOC
    C++ 内存模型
    C++ 多态
    Java 多态
    Java 自动装箱与自动拆箱
    C++ priority_queue
    多个页面使用到一些名称类的同一个接口,借助vuex实现
    element-ui自定义表单验证
    vue项目中导出excel文件
    数组对象根据某个属性进行排序
  • 原文地址:https://www.cnblogs.com/zhangchs/p/10964967.html
Copyright © 2020-2023  润新知