美文网首页
2018-08-15

2018-08-15

作者: 鹿啦啦zz | 来源:发表于2018-08-15 17:48 被阅读0次
    • getBoundingClientRect();
      getBoundingClientRect();//获得相对于视窗位置的集合
    • <script type="text/javascript"></script>
      type为MIME类型,媒介类型/子类型
    text/javascript
    text/ecmascript
    application/ecmascript
    application/javascript
    text/vbscript
    

    语法:

    fun.apply([thisObj],[argarray]);//thisObj可以改变函数中this的指向
    fun.call([thisObj],arg1,arg2,...);
    
    • 一个函数接收一个函数作为参数就是高阶函数

    Array函数

    map() ,reduce()
    map()高阶函数吧,接收一个函数作为参数

    'use strict';
    function pow(x) {
        return x * x;
    }
    var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
    var results = arr.map(pow); // 结果为:[1, 4, 9, 16, 25, 36, 49, 64, 81]
    console.log(results);
    

    把Array的所有数字转为字符串:

    var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
    arr.map(String); // ['1', '2', '3', '4', '5', '6', '7', '8', '9']
    

    要把[1, 3, 5, 7, 9]变换成整数13579,reduce()也能派上用场:

    var arr = [1, 3, 5, 7, 9];
    arr.reduce(function (x, y) {
        return x * 10 + y;
    });
    

    String函数

    trim()函数去除字符串左右的空格

    生斐波那契数列的函数,可以这么写

    function fib(max) {
        var
            t,
            a = 0,
            b = 1,
            arr = [0, 1];
        while (arr.length < max) {
            [a, b] = [b, a + b];
            arr.push(b);
        }
        return arr;
    }
    
    // 测试:
    fib(5); // [0, 1, 1, 2, 3]
    fib(10); // [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
    

    包装对象

    var n = new Number(123); // 123,生成了新的包装类型
    var b = new Boolean(true); // true,生成了新的包装类型
    var s = new String('str'); // 'str',生成了新的包装类型
    
    typeof new Number(123); // 'object'
    new Number(123) === 123; // false
    
    typeof new Boolean(true); // 'object'
    new Boolean(true) === true; // false
    
    typeof new String('str'); // 'object'
    new String('str') === 'str'; // false
    
    • 总结一下,有这么几条规则需要遵守:
    1. 不要使用new Number()、new Boolean()、new String()创建包装对象;
    2. 用parseInt()或parseFloat()来转换任意类型到number;
    3. 用String()来转换任意类型到string,或者直接调用某个对象的toString()方法;
    4. 通常不必把任意类型转换为boolean再判断,因为可以直接写if (myVar) {...};
    5. typeof操作符可以判断出number、boolean、string、function和undefined;
    6. 判断Array要使用Array.isArray(arr);
    7. 判断null请使用myVar === null;
    8. 判断某个全局变量是否存在用typeof window.myVar === 'undefined';
    9. 函数内部判断某个变量是否存在用typeof myVar === 'undefined'。
    123..toString(); // '123', 注意是两个点!
    (123).toString(); // '123'
    

    相关文章

      网友评论

          本文标题:2018-08-15

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