1. 直接量

啥意思?直接量就是直接用到的数据~
例如:10,100,1.1,'Hello Word',true,false等等。

2. 标识符与保留字

啥东西?标识符简单讲就是用来对变量和函数进行命名的,标识符不可以以数字开头,可以使用字母和'_'和'$'开头。那么javascript本身也有自己的一些标识符,这些本身的标识符就可以叫做保留字,是不允许我们使用的,例如:break,return,var等等的这些那些~,不过在ES5(ECMAScript5)中还有一些做了保留,比如:class const enum export extends import super这些是为未来版本做的预留,使用的时候要小心哦。

3. 数字

  • 表示:不区分整数和浮点数。

  • 范围:[-2^53 - 2^53];精度有限,超出Infinity,无意义NaN。

  • 浮点型:1.2 ; .3 == 0.3 ; 1.2e2 = 1.2 * 10^2。

  • NaN:咋判断一个值是不是NaN?通过x == NaN无法判断,无论x的值是什么都返回false,需要通过x !=
    x来判断,当且仅当x为NaN时表达式才返回true(或者使用isNaN());

  • 精度:第一次我会问精度?精度有限?计算机精确度也有限?试了一下还真是……比如(.3 - .2)你猜的多少?0.1?no no no!(.3

    • .2 == 0.09999999999999998,一个无限接近0.1的数值,所以在金融计算的时候,就用分来计算吧,准确些~)。

4. 字符串

书写:'ab'; 
      'a\
      b';
      上方的两个字符串出输出格式相同,均为单行字符串;

5. null和undefined

  • 比较: null == undefined //true;
    null === undefined //false;
    为啥?来看这个↓
    typeof null //Object;
    typeof undefined //undefined;

6. 不可变的原始值和可变的对象

  • 不可变的原始值:
    var v = "hello";
    v.toUpperCase();//HELLO
    v //hello

  • 可变的对象:
    var a = [1,2,3];
    a[0] == 11;

  • 对象的比较:
    var a = [1,2,3],b = [1,2,3];
    a == b //false
    //对象是引用类型(referenve)比较的是引用,只有基于同一个对象(用一个引用)的时候才会想等;

7. 声明提前

直接来个简单的DEMO:

var a = "global";
function go(){
    console.log(a);//undefined
    var a = "local";
    console.log(a);//local
}

a在go()内部的声明被提前到了函数最顶部。

nelson2016
127 声望8 粉丝

小的是一枚web前端开发攻城狮,但正在不断努力称为一名Full Stack。