※十七、自定义原型方法、去重、封装typeof
一、自定义原型方法
1.1 重写unshitf方法
- 用splice方法重写数组的原型上的unshift方法myShift
var arr = [5,6,7];
Array.prototype.myShift = function(){
for(var i = 0; i < arguments.length; i++){
this.splice(i, 0, arguments[i]);
}
// 返回执行方法以后的长度
return this.length;
}
console.log(arr.myShift(1,2,3,4,), arr);
- 使用concat拼接达到unshift的效果
Array.prototype.myShift1 = function(){
var arr = Array.prototype.splice.call(arguments);
console.log(arr.concat(this));
}
arr.myShift1(1,2,3,4);
二、去重:核心方法hasOwnProperty
使用对象属性的特性:对象属性不会重复
// 对象中要存的数据,属性名和属性值是一样的
var obj = {
'10': '10',
'2': '2',
'a': 'a'</