数据类型:
(栈类型) 原始值: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>