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' }