zoukankan      html  css  js  c++  java
  • JS学习梳理(三)类型和语法

    1. 类型
      • JavaScript 有七种内置类型:null、undefined、boolean、number、string、object 和symbol,可以使用typeof 运算符来查看
      • typeof返回的都是字符串
      • 很多开发人员将undefined 和undeclared 混为一谈, 但在JavaScript 中它们是两码事。undefined 是值的一种。undeclared 则表示变量还没有被声明过
      • 字符串反转
        var a = "foo";
        var c = a
        // 将a的值转换为字符数组
        .split( "" )
        // 将数组中的字符进行倒转
        .reverse()
        // 将数组中的字符拼接回字符串
        .join( "" );
        c; // "oof"
      • 较小数值比较
        function numbersCloseEnoughToEqual(n1,n2) {
            return Math.abs( n1 - n2 ) < Number.EPSILON;
        }
      • 值和引用
        • null 类型只有一个值null,undefined 类型也只有一个值undefined
        • 所有变量在赋值之前默认值都是undefined。void 运算符返回undefined
        • 数字类型有几个特殊值, 包括NaN( 意指“not a number”, 更确切地说是“invalid number”)、+Infinity、-Infinity 和-0
    2. 强制转换
      • 显式强制转换
        var a = "Hello World";
        ~a.indexOf( "lo" ); // -4 <-- 真值!
        if (~a.indexOf( "lo" )) { // true
        // 找到匹配!
        }
        ~a.indexOf( "ol" ); // 0 <-- 假值!
        !~a.indexOf( "ol" ); // true
        if (!~a.indexOf( "ol" )) { // true
        // 没有找到匹配!
        }
      • 隐式强制类型转换
      • || && 有意思的“操作数选择器”
        function foo(a,b) {
            a = a || "hello";
            b = b || "world";
            console.log( a + " " + b );
        }
        foo(); // "hello world"
        foo( "yeah", "yeah!" ); // "yeah yeah!"
      • 强制转换
        1. 如果Type(x) 是数字,Type(y) 是字符串,则返回x == ToNumber(y) 的结果
        2. 如果Type(x) 是字符串,Type(y) 是数字,则返回ToNumber(x) == y 的结果
        3. 如果Type(x) 是布尔类型,则返回ToNumber(x) == y 的结果
        4. 如果Type(y) 是布尔类型,则返回x == ToNumber(y) 的结果
    3. 异步和性能
      • Promise.resolve保证可信任
      • 调用Promise 的then(..) 会自动创建一个新的Promise 从调用返回
      • 在完成或拒绝处理函数内部,如果返回一个值或抛出一个异常,新返回的(可链接的)Promise 就相应地决议
      • 如果完成或拒绝处理函数返回一个Promise,它将会被展开,这样一来,不管它的决议值是什么,都会成为当前then(..) 返回的链接Promise 的决议值
      • Promise.all([ .. ])
      • Promise.race([ .. ])
    4. 生成器
  • 相关阅读:
    w10更新
    java.lang.Integer cannot be cast to java.math.BigDecimal
    加法add 乘法multiply
    iterator,hasNext,next
    购物车全部数据,带商品信息
    ERRORinit datasource error, url: jdbc:mysql://localhost:3306/xxxxxx?useUnicode=true&characterEncoding=gbk&serverTimezone=GMT&useSSL=false
    Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:
    创建一个场景
    window系统已发布,等待更新
    [转]向量(矩阵)范式理解(0范式,1范式,2范式,无穷范式)
  • 原文地址:https://www.cnblogs.com/chenjunsheep/p/9078802.html
Copyright © 2011-2022 走看看