封装type方法
- 虽然
typeof
已经可以判断数据类型,但是对于包装类,typeof
判断出来的都是object
,如下图:
- 现在封装一个函数
type
,可以准确地判断包装类的类型 ,实现如下:
function type(target) {
var ret = typeof (target);
var template = {
"[object Array]": "array",
"[object Object]": "object",
"[object Number]": "number - object",
"[object Boolean]": "boolean - object",
"[object String]": "string - object"
}
if (target == "null") {
return "null";
} else if (ret == "object") {
var str = Object.prototype.toString.call(target);
return template[str];
} else {
return ret;
}
}
- 测试数据:
数组去重
Array.prototype.unique = function () {
var temp = {},
arr = [],
len = this.length;
for (var i = 0; i < len; i++) {
if (!temp[this[i]]) {
temp[this[i]] = 'abc';
arr.push(this[i]);
}
}
return arr;
}
- 测试数据: