平常 总结

对象

对象的字面量:

 var parent = new Object();
    parent.name = 'a';
    parent['b'] = 20;
    console.log(parent);

嵌套对象字面量:

var y = {
        name: '阴阴',
        age: 17,
        action: function () {
            console.log(this.age);
        }
    }
    y.action(); //17

 函数声明  :

 function sum(x, y) {
        return x + y
    }

函数表达式:

  var a = function (x, y) {
        return x + y
    }

预解析 :

  function f() {
        console.log(11);
    };
    var f = 222;

    console.log(f);

对象的属性和方法

  •     设置   
 var obj = {}
    obj.name = 'aaa'
    obj['age'] = 20
  •     获取     
obj.name;

obj['age'];

    . 与 [ ] 的区别     [    ]得到的是一个变量 

  var obj = {
        name :'哈哈',
        age :20,
    };
    obj['name'];
    var n = 'name';
    obj[n] == obj['name'];

  •  属性删除   
var o = {
        name:"hah",
        age :15
    };
    delete o.name //或者 o.name = ""
    console.log(o);   //age:15
  •     检测属性 
 var obj = {
        name:'哈哈',
        age:10
    };
    console.log('name' in obj); //自有属性与继承属性都兼容  用in判断  name是否在obj里面
    console.log(obj.hasOwnProperty('name'));   //只兼容自有属性 才用hasOwnProperty         
   

学习小技巧:接收一个新的方法,或者新的属性,如何理解:字面意义它是干啥的;对应的返回值;对应有啥参数

扫描二维码关注公众号,回复: 17085032 查看本文章

遍历属性

for ...of....   与  for....in .... 

var obj = {name:'d',age:20};
    for (var key in obj){
        console.log(key);     //name age
        console.log(obj[key]); //a 20   key相当于一个变量用中括号
    }
    var arr= [1,2,3,4,5]
    for (var v in arr){
        console.log(v);  //下标 索引 012345
        console.log(arr[v]);  //下标 索引 012345

    }

数组 for   forEach()   map()   filter()   

//for循环
var arr = ['a','b','c']
    for (var i=0; i<arr.length; i++){
        console.log(arr[i]);
    }
​
//forEach()遍历  注意:它没有返回值

 var a2 = arr.forEach(function(item,index){
        //item == arr[i]
        console.log(item);
        return item+1  //没有返回值
    });
    console.log(a2);
var arr3 = [{ id: 1, name: '画画', age: 11 }, { id: 2, name: '画中', age: 12 }, { id: 3, name: '画后', age: 13 }]
  var a =[];
  var b =[];
  var c =[];
  arr3.forEach(function(e) {
      a.push(e.id)
      b.push(e.name)
      c.push(e.age)
 })
 console.log(a,b,c);  //(3) [1, 2, 3] (3) ['画画', '画中', '画后'] (3) [11, 12, 13]
//map()遍历 
 var a3 = arr.map(function(item,index){
        //item == arr[i]
        console.log(item);
        return item+1  
    });
    console.log(a3,arr); //[a1,a2,a3] [a,b,c]
//需要修改
var arr2 = [{id:1,name:'小小',age:15},{id:2,name:'中中',age:15},{id:3,name:'大大',age:15}]

    var a4 = arr2.map(function(item){

        return item.id || item.name || item.age;

    });

    console.log(a4);  //[1,2,3]


 

//filter() 数组中的筛选过滤,满足条件的

var arr3 = [1,2,20,300,23];
var a5 = arr3.filter(function(item){
        return item > 20
    });
    console.log(a5);   //返回值返回的是数组,满足条件的被返回。[300,23]

​
 // every()检测数组,满足条件返回true 只要有一个没有满足条件就返回false

    var arr4 = [1,2,20,300,23];
    var a6 = arr4.every(function(item){
        return item > 20
    });
    console.log(a6);  //false

​

 // reduce( ) 应用场景用于购物车,累加用得多。

    var arr5 = [1,2,3];
    var a7 = arr5.reduce(function(total,cur){
        return total + cur
    },10);         //这里的初始值是10
    console.log(a7);    //16


 

  序列化

  前后数据交互,我们不能传对象的。传的是字符串。

  分割比较麻烦

   JSON.stringify()方法用于将Javascript值转换为Json字符串   

 var obj = {name:'小红',age:11}
    console.log(typeof JSON.stringify(obj));   //string

   JSON.parse()方法用于将一个JSON字符串转换成为对象   

var obj = {name:'小红',age:11}
    var str =  JSON.stringify(obj)
    console.log(typeof JSON.parse(str));   //Object

深拷贝浅拷贝

举例子:假设B复制A,但修改A时,看B有没有变化,如果B变了,就是浅拷贝,B没有变就是深拷贝。

浅拷贝相当于自己影子,深拷贝相当于双胞长得一样但思想是独立的   

var obj = {name:'abc',id:1}
// concat()截取   slice()

    var arrr = ['a','b']
    var arrr1 = arrr.concat();
    arrr1.push('c');
    console.log(arrr1);  //["a", "b", "c"]
    console.log(arrr);  //["a", "b"]



    var a = {id:1,name:'a',obj:{id:999}};
    var b = new Object();
    b.name = a.name;
    b.id = a.id;
    a.name = 'aaaaa'
    console.log(b);    //{name: "a", id: 1}
    console.log(a);    //{id: 1, name: "aaaaa", obj: {…}}

   

      




 

猜你喜欢

转载自blog.csdn.net/lv_suri/article/details/128206545
今日推荐