千锋教育JavaScript全套视频教程(10天学会Js,前端javascrip

数据类型
1基础数据类型
一、数值,注意NAN和任何数比较相等得到的结果都为false,parseInt可以转化小数点的整数部分,parseFloat转化的是带有小数点的浮点数,Number只能整体转化,undefinde转数值为NaN,null转化为数值为0。
二、字符串 除了方法以外,还需注意字符串的 一些方法,且使用这些方法时,原字符串不会发生改变,substring substr slice 三种裁剪方法的区别,通过trim方法去除前后空格,字符串有部分方法和数组通用。若想快速去除字符串中的敏感字,可以使用正则表达式。通过split转化为数组。在使用+运算符时,若运算符一端数据为字符串,另一个数据会通过隐式转换为字符串,然后两个字符串进行拼接 。
三、布尔 布尔值一共有两个值,一种为true,一种为false,在条件语句中,其他类型的数据会自动隐式转换为布尔类型。
四、undefind 变量只定义不赋值所得到的结果
五 null 这个值是我们手动赋予的 用typeof检测结果为objecct。
六、symbol es6新增的一种基础数据类型 需要有一个独一无二的值 就要使用Symbol
对象的键名唯一性,想要使用别人提供的一个对象 在别人提供对象的基础上给这个对象添加属性和方法
保证原有对象里面数据不会被我们添加的数据所覆盖,可以利用Symbol当成对象的key
2、复杂数据类型
一、数组,在数组中有很多重要的方法,
1. forEach( )
该方法等同于for循环,没有返回值
arr.forEach(function(item,index,arr){
}
//里面的function是一个回调函数,
//item: 数组中的每一项;
//index:item 对应的下标索引值
//arr: 就是调用该方法的数组本身
2.map( )
映射,该方法使用和forEach大致相同,但是该方法有返回值,返回一个新数组,新数组的长度和原数组长度相等
arr.map(function(item,index,arr){
}
//里面的function是一个回调函数,
//item: 数组中的每一项;
//index:item 对应的下标索引值
//arr: 就是调用该方法的数组本身
3. filter( )
filter方法: 有返回值, 过滤出符合条件的元素
arr.filter(function(item,index,arr){
}
过滤出布尔类型为true的项
4. some
判断数组中有没有符合条件的项(只要有,就返回true),如果一个都没有,才返回false
arr.some(function(item,index,arr){
}
5. every
判断数组中所有的项是否满足要求,如果全都满足,才返回true,否则返回false
arr.every(function(item,index,arr){
}
类型转换
1. 对象和布尔值比较 对象和布尔值进行比较时,对象先转换为字符串,然后再转换为数字,布尔值直接转换为数字 [] == true; //false []转换为字符串'',然后转换为数字0,true转换为数字1,所以为false 2. 对象和字符串比较 对象和字符串进行比较时,对象转换为字符串,然后两者进行比较。 [1,2,3] == '1,2,3' // true [1,2,3]转化为'1,2,3',然后和'1,2,3', so结果为true; 3. 对象和数字比较 对象和数字进行比较时,对象先转换为字符串,然后转换为数字,再和数字进行比较。 [1] == 1; // true `对象先转换为字符串再转换为数字,二者再比较 [1] => '1' => 1 所以结果为true 4. 字符串和数字比较 字符串和数字进行比较时,字符串转换成数字,二者再比较。 '1' == 1 // true 5. 字符串和布尔值比较 字符串和布尔值进行比较时,二者全部转换成数值再比较。 '1' == true; // true 6. 布尔值和数字比较 布尔值和数字进行比较时,布尔转换为数字,二者比较。 true == 1 // true