数据类型有哪些?
分为简单数据类型和复杂数据类型(复杂数据类型)
简单数据类型:字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol(es6新定义,这种类型的对象永不相等,即始创建的时候传入相同的值,可以解决属性名冲突的问题,做为标记。)。
ES6 新增Symbol。
复杂数据类型:Array(数组),Object(对象),Fuction(函数)
判断数据类型?
typeof-----------------------判断基本数据类型(判断复杂数据类型时不准,全是object),返回的是字符串
constructor----------------利用对象原型访问机制判断
().consyructor不能验证undefined和null
instanceof-----------------判断不了基本数据类型,返回的是布尔值
Object.prototype.tostring.call()-------所有的都可以判断
数组中的方法
length 属性 动态数组获取长度
join() 将一个数组转成字符串。返回一个字符串
reverse() 将数组中各元素颠倒顺序
delete 运算符 只能删除数组元素的值,而所占空间还总长在,度没变(arr.length)
shift() 删除数组中第一个元素,返回删除的那个值,并将长度减 1
pop() 删除数组中最后一个元素,返回删除的那个值,并将长度减 1
unshift() 往数组前面添加一个或多个数组元素,长度要改变。arrObj.unshift(“a” ,
“b,“c”)
push() 往数组结尾添加一个或多个数组元素,长度要改变。arrObj.push(“a” ,“b”,
“c”)
concat( ) 连接数组
slice( ) 返回数组的一部分
sort( ) 对数组元素进行排序
splice( ) 插入、删除或替换数组的元素
toLocaleString( ) 把数组转换成局部字符串
toString( ) 将数组转换成一个字符串
forEach 遍历所有元素
var arr = [1, 2, 3];
arr.forEach(function(item, index) {
// 遍历数组的所有元素,index索引,item每一项
console.log(index, item);
});
every 判断所有元素是否都符合条件
sort 排序
map 对元素重新组装,生成新数组
filter 过滤符合条件的元素