美文网首页晚安小白猪
MDN 重新介绍JavaScript

MDN 重新介绍JavaScript

作者: null_su | 来源:发表于2018-11-20 10:16 被阅读18次

    MDN 重新介绍JavaScript

    基本数据类型

    • Number

      • 不区分整数值和浮点数值,所有数字在 JavaScript 中均用浮点数值表示
      • 字符转换成数字
        • parseInt() && parseFloat, 转化的时候
        • + "42" // 42 (单元运算符 + 也可以把数字字符串转换成数值, 使用该方法,字符串中有不能被转化的字符,则会返回 NaN)
      • NaN 进行任何数学运算,结果也会是 NaN, isNaN()用来判断是否是NaN
      • Infinity && -Infinity , isFinite() 来判断是否是无穷值
    • String

    • null && undefined

      • null 可以理解成未定义的对象, 返回的类型是 Object
      • undefined 可以理解成声明了对象, 但是未进行赋值, 返回的类型是 undefined
    • Boolean

      • false0空字符串("")NaNnullundefined 被转换为 false
      • 所有其他值被转换为 true
      • if 条件语句中会隐式转换

    变量

    • 声明方法: 使用关键字 var, let, const
      • let 语句声明一个块级作用域的本地变量,并且可选的将其初始化为一个值, (目前的理解是, 块级作用域以 {} 来定义)
      • const 允许声明一个不可变的常量, 这个常量在定义域内总是可见的
      • var 在整个函数作用域中都可见, (如果直接语句, 没有封装函数的, 则是全局可见, ES5之前语句(block)没有作用域, 只有函数(function) 有作用域, ES6 后通过letconst 创建块级作用域

    运算符

    • +
      • 可以用来连接NumberString, 操作数都会被首先转换为字符串;
      • 通过与空字符串相加,可以将某个变量快速转换成字符串类型
    • == && ===
      • == 会进行类型自动转换, 比如 '123' == 123 // true
      • === 不会进行类型转换, 123 === "123"; // false

    控制结构

    • for...of
    • for...in (在循环中进行详细解析)
    • switch...break, 不要忘了加上break

    对象 Object

    • JavaScript 中的对象可以简单理解成“名称-值”对

    • JavaScript 中的一切(除了核心类型,core object)都是对象

    • “名称”部分是一个 JavaScript 字符串

    • “值”部分可以是任何 JavaScript 的数据类型——包括对象

    • 声明对象:

      • var obj = new Object();

      • var obj = {}; // 对象字面量(object literal), 一般使用这种声明方法

      • 可以对象字面量中再创建对象实例

          var obj = {
              name: "Carrot",
              "for": "Max",//'for' 是保留字之一,使用'_for'代替
              details: {
                  color: "orange",
                  size: 12
              }
          }
        
    • 访问对象属性新增对象属性:

      • 通过链式(chain)表示方法进行访问

          obj.name = "Simon"
          var name = obj.name;
        
          // bracket notation
          obj['name'] = 'Simon';
          var name = obj['name'];
          // 可以使用变量来代替key
          var user = prompt('what is your key?')
          obj[user] = prompt('what is its value?')
        

    数组

    • 数组是一种特殊的对象:

      • key 是数字(下标)
      • 只能通过[] 来访问
    • 创建数组:

      • 传统声明式方法:

          var a = new Array();
          a[0] = "dog";
          a[1] = "cat";
          a[2] = "hen";
          a.length; // 3
        
      • 数组字面量(array literal)

          var a = ["dog", "cat", "hen"];
          a.length; // 3
        
    • 数组的长度(length) 是比数组最大索引值多一的数(数组的元素个数并不一定等于数组的长度)

        var a = ["dog", "cat", "hen"];
        a[100] = "fox";
        a.length; // 101

    相关文章

      网友评论

        本文标题:MDN 重新介绍JavaScript

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