美文网首页晚安小白猪
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