美文网首页
阅读《speaking javascript》总结

阅读《speaking javascript》总结

作者: 奋斗的小小小兔子 | 来源:发表于2018-07-17 17:46 被阅读4次

    基本值(Primitive Values)

    基本值有: booleans,numbers,strings,null and defined
    其他所有值都是:objects

    基本值特征
    • 基于值进行比较
    
    3 === 3    // true
    
    'abc' === "abc"       // true
    
    
    • 始终不可变的 (Always immutable)
    > var str = 'abc';
    
    > str.length = 1; // try to change property `length`
    > str.length      // ⇒ no effect
    3
    
    > str.foo = 3; // try to create property `foo`
    > str.foo      // ⇒ no effect, unknown property
    undefined
    
    

    对象

    所有非基本值的都是对象,常见的对象有

    • 普通对象:{ firstName: 'Jane', lastName: 'Doe' }
    • 数组:[ 'apple', 'banana', 'cherry' ]
    • 正则表达式: /^a+b+$/
    对象的特征
    • 基于引用进行比较
    > ({} === {})  // two different empty objects
    false
    
    > var obj1 = {};
    > var obj2 = obj1;
    > obj1 === obj2
    true
    
    
    • 默认情况下是可变的
    > var obj = {};
    > obj.foo = 123; // add property `foo`
    > obj.foo
    123 
    

    undefined

    • 未初始化的变量是undefined
    > var foo;
    > foo
    undefined
    
    
    • 缺少参数是undefined
    > function f(x) { return x }
    > f()
    undefined
    
    
    • 读取一个不存在的属性,返回undefined
    > var obj = {}; // empty object
    > obj.foo
    undefined
    
    

    null

    null表示空对象。

    undefinednull均没有属性

    undefined and null have no properties, not even standard methods such as toString().

    Booleans

    布尔值有两个true、false。下面的操作符可以生成布尔值

    • 逻辑运算符 && , ||
    • 前缀运算符 !
    • 比较运算符
      • 等号操作符===, !==, ==, !=
      • 排序操作符(针对字符和数字类型):>, >=, <, <=

    下面几种值,表示false值

    • undefined,null
    • false
    • 0, NaN
    • 空串''

    空数组

    相关文章

      网友评论

          本文标题:阅读《speaking javascript》总结

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