第一天

作者: 焦迈奇 | 来源:发表于2018-07-23 10:01 被阅读0次

    js

    数据类型

    1. Number,javascript不区分整数和浮点数;
      注意NAN(not a number)和Infinity(无穷数)
      NaN===NaN //false;NAN与所有其他值都不相等。
      唯一判断NaN的方法是:isNaN(NaN);//true
      1/3===(1-2/3)//false;无限小数只能通过判断阙值来判断。
    2. 字符串,引号不是字符串的一部分,只是一种表示方式
    3. 布尔值,只有true和false俩个值。
    4. null和undefined
    5. 数组
      [],new Array();俩中方法创建数组。
    6. 对象
    7. 变量
    8. strict模式

    字符串

    1. 字符串转义\
    2. 多行字符串:es6中用.........来表示。
    3. 模板字符串:连接多个变量和字符串可以表示为:
    `你好,${name},你今年${year}了`;
    
    1. 操作字符串
      toUpperCase ,toLowerCase , indexOf(搜索指定字符串出现的位置) , substring(start,end)
      以上方法不会改变原字符串
      split()按指定的字符将字符串分割为数组。

    数组

    1.javascript中的array包含多种数据类型的元素。
    array.length获取数组长度,当直接给array.length赋值会更改array的大小。
    array可以直接通过索引来修改对应元素的值。
    索引赋值超过数组长度,会更改数组长度。
    2.操作数组方法

    • indexOf()搜索指定元素的索引。
    • slice(start,end)截取指定范围的数组元素。不包含结束索引,只包含开始索引。不指定slice参数,则默认从头到尾截取。
    • push,pop分别表示向数组末尾添加元素和删除元素。
    • unshift,shift分别表示向数组头插入第一个元素和删除第一个元素。
    • sort排序,更改原数组。默认按照unicode排序,需指定回调函数。
    • reverse倒序数组,更改原数组。
    • splice增,删,改数组。
    • concat连接俩个数组。不修改原数组。
    • join()将数组中的元素按指定的连接符号连接成字符串,不是字符串的元素强制转换为字符串。

    对象

    • 当属性名含有特殊符号或空格时需要用' '引起来;
    • .访问法和[]访问法(变量)

    循环

    1. for
    2. for in
    for (var key in o) {
        console.log(key); // 'name', 'age', 'city'
    }
    

    由于array也是对象当用for in对数组遍历会把索引当成属性输出索引,而得到的是字符串索引,并不是number。

    for (var i in a) {
        console.log(i); // '0', '1', '2'
        console.log(a[i]); // 'A', 'B', 'C'
    }
    
    1. while do-while

    Map和Set(es6新增的数据类型)

    javaScript的默认对象表示方式{}可以视为其他语言中的Map或Dictionary的数据结构,即一组键值对。但是对象的属性即键必须是数组所以引入map和set

    1. Map:初始化一个空map或者需要一个二维数组。
      var map=new Map();
    • map.set();添加新的key-value值
    • map.has();是否存在键
    • map.get();获取对应键的值
    • map.delete();删除键
    1. Set(一组key集合,不存储value值)
      :初始化一个空Set或者需啊要一个数组。
      var set=new Set();
    • set.add();添加一个键,可重复添加不过没有效果。
    • set.delete();删除一个键。

    iterable

    由于array可以使用下标循环,而Set和Map没有下标,所以es6引入iterable类型,array、Map、Set都属于iterable类型。
    该类型可以使用for-of来循环。

    var a = ['A', 'B', 'C'];
    var s = new Set(['A', 'B', 'C']);
    var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
    for (var x of a) { // 遍历Array
        console.log(x);
    }
    for (var x of s) { // 遍历Set
        console.log(x);
    }
    for (var x of m) { // 遍历Map
        console.log(x[0] + '=' + x[1]);
    }
    

    for-in把name包括在内,而length不包括。

    var a = ['A', 'B', 'C'];
    a.name = 'Hello';
    for (var x in a) {
        console.log(x); // '0', '1', '2', 'name'
    }
    

    for-of只循环集合本身的元素。

    var a = ['A', 'B', 'C'];
    a.name = 'Hello';
    for (var x of a) {
        console.log(x); // '0', '1', '2',
    }
    **iterable内置forEach**
    1. Set由于没有索引所以前俩格元素均代表元素本身。
    ```var s = new Set(['A', 'B', 'C']);
    s.forEach(function (element, sameElement, set) {
        console.log(element);
    });
    
    1. Map的参数为value,key,map
    m.forEach(function (value, key, map) {
        console.log(value);
    });
    

    相关文章

      网友评论

          本文标题:第一天

          本文链接:https://www.haomeiwen.com/subject/pgqhmftx.html