JavaScript判断、循环、Map、Set

 本文是笔者在看廖雪峰老师JavaScript教程时的个人总结
     一些判断条件
                JavaScript把nullundefined0NaN和空字符串''视为false,其他值一概视为true,因此上述代码条件判断的结果是true
 
   循环
         1.for(同C)
          2.while (同C)
           3.do while(同C)
       变体  for...in
               遍历对象  只遍历属性,没有属性对应的值
               遍历数组  只遍历索引  遍历索引的结果是字符串不是numble 不是1 是'1'
               so 数组也是对象,索引值是其属性
 
 
 
     map
           Map是一组键值对的结构,具有极快的查找速度。
                     初始化Map需要一个二维数组,或者直接初始化一个空Map
            map方法  1.get(键)  得到值
                     2.set(键:值)  添加一个元素
                     3.has(键)   查找是否含有这个键   返回true  false
                     4.delete(键)  删除这个键
            一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉   
 
 
        set
              set是一组key的集合,但不包含value。而且key不能重复
               重复元素自动被过滤掉
               通过add()添加key
               通过delete()删除key
 
 
 
 
          iterable
               这是一个类型
               首先 遍历数组可以采用下标循环,但是遍历map和set就无法使用下标。so 为了统一iterable应景而生,array,map,set都属于iterable类型
               属于iterable类型的集合可以使用for....of...循环来遍历
               遍历 array set  值对值
               遍历 map  x[0]:键  x[1]:值
                
 
 
 
 
 
               for...in   和   for...of区别
                     for...in遍历的是对象的属性名称
                                       for...of遍历的是对象的值     
                                       for...of只遍历集合的本身,后期加入的属性不进行遍历
                         放大招  :  iterable内置一个forEach方法,它接收一个函数,每次迭代就自动回调该函数
                                        例子:
var a = ['A', 'B', 'C'];
a.forEach(function (element, index, array) {
    // element: 指向当前元素的值
    // index: 指向当前索引
    // array: 指向Array对象本身
    alert(element);
});
                                      function (element, index, array) 这是一个匿名函数       三个参数名字自己定义  不过forEach传入参数的顺序是确定的,且分别代表的也是确定的。每向下迭代一次就执行该函数一次
                                       Map的回调函数参数依次为valuekeymap本身
                     set的回调函数参数依次为element 、sameElement 和set本身    
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2016-10-08 14:52  JasperH  阅读(3384)  评论(0编辑  收藏  举报