• 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}];
            
        }
    

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

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

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

  • 相关阅读:
    Spring Security demo
    applicationContext-XXX.xml和XXX-servlet.xml的区别
    搜索意图识别浅析
    如何配置使用Dnsmasq
    机器学习十大算法之EM算法
    如何利用OpenSSL生成证书
    11月13日晚直播预告 | 关于数据可视化,网易大数据资深专家将在这里告诉你
    漫话中文分词
    10分钟快速构建汽车零售看板
    聊一聊整车厂的那些事——售后配件业务
  • 原文地址:https://www.cnblogs.com/Dewumu/p/14395326.html
Copyright © 2020-2023  润新知