持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第21天,点击查看活动详情
JS的数据类型的转换
- 转换为布尔值(调用Boolean()方法)
- 转换为数字(调用Number()、parseInt()和parseFloat()方法)
- 转换为字符串(调用.toString()或String()方法)
JS中数据类型的判断
- typeof 除了函数都会被解析为对象,所以不能准确的判断类型
console.log(typeof []); // object
console.log(typeof function(){}); // function
console.log(typeof {}); // object
- instanceof 通过判断对象的原型链能不能找到类型的prototype
console.log([] instanceof Array); // true
console.log(function(){} instanceof Function); // true
console.log({} instanceof Object); // true
- constructor
console.log(([]).constructor === Array); // true console.log((function() {}).constructor === Function); // true console.log(({}).constructor === Object); // true
- Object.prototype.toString.call()
console.log(Object.prototype.toString.call([]));
console.log(Object.prototype.toString.call(function(){}));
console.log(Object.prototype.toString.call({}));
undefined与Null
undefined:声明了一个变量,但未对其初始化时,这个变量的值就是undefined null:表示一个空对象指针,指示变量未指向任何对象
console.log(null == undefined); // true
数组遍历
every()
对数组中的每一项都运行给定函数,该函数对于每一项都返回true,则返回true。适用于判断数组中的项是否都满足某个条件。该方法的返回值为Boolean。
var numbers = [1,2,3,4,5,6,7,8,9];
// 判断数组项否都小于10
var everyResult = numbers.every(function(item , index , array){
retrun item < 10;
});
console.log(everyResult); // true
some()
对数组中的每一项运行给定函数,如果该函数汇中某一项返回true,则返回true,该方法的返回值为Boolean。
var numbers = [1,2,3,4,5,6,7,8,9];
// 判断数组中是否有小于10的项
var someResult = numbers.some(function(item , index , array){
retrun item < 10;
});
console.log(someResult); // true
filter()
对数组中的每一项运行给定函数,对数组的过滤,得到数组中满足特定条件的项。该方法会返回一个包含符合条件项的数组。
var numbers = [1,2,3,4,5,6,7,8,9];
// 返回数组中大于5的项
var filterResult = numbers.filter(function(item , index , array){
retrun item > 5;
});
console.log(filterResult); // [6,7,8,9]
map()
对数组的每一项运行给定函数,返回每次函数调用的结果的数组。使用在需要对数组中的每个元素进行操作的时候。该方法会返回一个对数组每项进行操作后的数组。
var numbers = [1,2,3,4,5,6,7,8,9];
// 对数组中的每一项的乘2
var mapResult = numbers.map(function(item , index , array){
retrun item * 2;
});
console.log(mapResult); // [2,4,6,8,10,12,14,16,18]
forEach()
对数组中的每一项运行给定函数。和for循环迭代数组一样。没有返回值。
var numbers = [1,2,3,4,5,6,7,8,9];
numbers.forEach(function(item , index , array){
// ...
});