zoukankan      html  css  js  c++  java
  • JavaScript属性

     window.onload = function(){
            //属性的添加  ./[]  .是取自身的属性  []可以是变量
            var obj = {};
            obj.name="sonia";
            obj['age'] = 20;
            console.log(obj['age']);
            //实例
            var obj2 ={};
            obj2.name="jack";
            var a = 'name';
            console.log(obj2[a]);  //obj2['name'] jack
    
            //属性删除 delete
            var obj3 = {};
            obj3.name="sonia";
            obj3.age=20;
            obj3.state=false;
            delete obj3.name;  //删除属性  obj3.name obj['name']
    
            // var obj3 = {};
            // obj3.name="sonia";
            // obj3.age=20;
            // obj3.state=false; 
    		// var age ='age';
            // delete obj3[age];console.log(obj3);
    
            //检测属性   判断对象中是否存在属性
            // in 运算符
            var obj4={
                name:'sonia',
                age:20
            };
            console.log('name' in obj4);
            //使用对象的hasOwnProperty() 方法
            var obj5={
                name:'sonia',
                age:20
            };
            //obj5.hasOwnProperty('name');
            var a = 'name';
            obj5.hasOwnProperty(a);
            //!=undefined 值的判断
            console.log(obj5.name !== undefined);  //= 赋值 ==比较  ===全等 != !==
            //if(a!='name'){}  //0==='0' 类型匹配
    
            //枚举属性
            //for in
            var arr = ['a','b','c','d'];
            var o = {name:'sonia',age:20};
            //对象
            for(v in o){   //for(属性 in 对象)
                console.log(v);//name age
                console.log(o[v]);  //sonia 20   o.v 不行   v是变量
            };
            //数组
            for(a in arr){   //for(索引 in 数组)
                console.log(a);  //01234
                console.log(arr[a]); //abcd
            };
            //
            for(var i=0;i<10;i++){}
            //forEach() 没有返回值 
            var arr2 = ['a','b','c','d'];
            arr2.forEach(function(item,index){
                console.log(item)
                //return item
            });
            //map() 回调函数中支持return返回值
            var arr3 = ['a','b','c','d'];
            arr3.map(function(item,index){
                return item;
            });
    
            //序列化   JSON.parse()//对象字符串转为对象(深拷贝)  JSON.stringify()对象转为对象字符串
            var o = {name:'sonia',age:20};
            console.log(typeof JSON.stringify(o)) //string
            console.log(typeof o);//object
    
            //var o = {name:'sonia',age:20};
            //var o2 = JSON.stringify(o);
            //console.log(typeof JSON.parse(o2));  //obj
    
            //深拷贝(双胞胎)  浅拷贝(引用  影子)
            //数组 slice()  concat()   //返回新的数组
            var arr4 = ['a','b','c','d'];
            //var arrCopy = arr4.slice(0);
            var arrCopy = arr4.concat();
            arrCopy[2]='abc';
            arr4  //["a", "b", "c", "d"]
            arrCopy // ["a", "b", "abc", "d"]
    
            //对象
            var o = {name:'sonia',age:20};
            var oCopy = JSON.parse(JSON.stringify(o));
            oCopy.name='ccc';
            oCopy; 
    
    
            //问题1:数组对象 var lists = [{name:'sonia1',age:20},{name:'sonia2',age:20},{name:'sonia3',age:20}]
            //问题2:数组对象有x返回1,否则返回2
            //var arr=[{x:1,y:2,z:3},{a:3,b:5,c:6},{l:6,m:8,n:9}];
            
        }
    

    本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。

    博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。

    博主是利用读书、参考、引用、抄袭、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个无耻的文档搬运工!

  • 相关阅读:
    7月15日考试 题解(链表+状压DP+思维题)
    暑假集训日记
    C# .NET 使用 NPOI 生成 .xlsx 格式 Excel
    JavaSE 基础 第42节 局部内部类
    JavaSE 基础 第41节 匿名内部类
    JavaSE 基础 第40节 内部类概述
    JavaSE 基础 第39节 接口的应用
    JavaSE 基础 第38节 接口的实现
    JavaSE 基础 第37节 接口概述
    JavaSE 基础 第36节 抽象类概述与使用
  • 原文地址:https://www.cnblogs.com/Dewumu/p/14395326.html
Copyright © 2011-2022 走看看