数据类型:
(栈类型) 原始值:boolen,num,string,null,undefined
(堆类型) 引用值:object,array
首先重新定义一个type()函数,
<script>
function type(target){
var ret = typeof(target);//通过typeof先判断是否属于数组或对象类型,并放入ret
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';//如果target为null,则返回null,注意是三个等于号
}else if (ret == 'object'){
var str = Object.prototype.toString.call(target);//判定数组还是对象的方法之一,toString.call
return template[str];
}else{
return ret;
}
}
</script>
数组去重
<script>
//思路:,给每个数组一个键,组成键值对,如果值没有键,则添加并且放入一个新数组
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;
}
</script>