2. wow.js阅读总结

1. indexOf方法的实现

Array.prototype.ownIndexOf = function(item) {
    for(var i = 0, l = this.length; i < l; i++) {
        if(i in this && this[i] == item) {
            return i;
        } 
        return -1;
    }
}
var arr = ['apple', 'banana', 'orange'];
console.log(arr.ownIndexOf('banana'));// 1

注意:这里面的i in this,这一句首先要明白in操作符的用法,如果是对象i指的是对象的属性名,如果是数组i指的是数组的索引,从而判断是不是属于这个对象或这数组。

2. 合并对象的方法

function demo(old, now) {
    var key, value;
    for(key in now) {
        value = now[key];
        if(old[key] == null){  //判断目标对象中有没有这个属性,没有的话,就添加这个属性
            old[key] = value;
        }
    }
    return old;
}

var obj1 = {
    name: 'jason',
    age: 18,
    sex: 'girl'
}
var obj2 = {
    sex: 'boy'
}
console.log(demo(obj1, obj2)); // { name: 'jason', age: 18, sex: 'girl' }

你可能感兴趣的:(2. wow.js阅读总结)