javaScript的变量

1.声明


 

用 var 或
let
申明的未赋初值的变量,值会被设定为undefined(译注:即未定义值,本身也是2个值)

准备访问一个未开首化的变量会招致贰个ReferenceError 格外被抛出

 

2.作用域


 

正如的代码将在控制台出口
5,因为 x 的效用域是声称了 x 的那多少个函数(或全局范围),而不是 if
语句块。

if (true) {
  var x = 5;
}
console.log(x); // 5

如果接纳ECMAScript 6 中的 let 注解,上述行为将暴发变化

if (true) {
  let y = 5;
}
console.log(y); // ReferenceError: y is not defined

 

3.变量升高


 

let不会展开变量提高

console.log(x); // ReferenceError
let x = 3;

 

4.函数调升


 

对于函数,唯有函数表明会被升级到顶部,不包罗函数表明式。

/* Function declaration */

foo(); // "bar"

function foo() {
  console.log("bar");
}


/* Function expression */

baz(); // TypeError: baz is not a function

var baz = function() {
  console.log("bar2");
};

 

5.常量


 

const 创建一个只读(read-only)的常量

在同样作用域中,无法用与变量或函数同样的名字来命名常量

// THIS WILL CAUSE AN ERROR
function f() {};
const f = 5;

// THIS WILL CAUSE AN ERROR ALSO
function f() {
  const g = 5;
  var g;

  //statements
}

 

6.数据类型


 

JavaScript语言能够辨认下边7 种不相同档次的值:

  • 各类是 原型
    的数据类型:

    Boolean.
    布尔值,true 和 false.

    null.
    1个标明 null 值的非凡主要性字。 JavaScript 是大大小小写敏感的,因而 null
    与 Null、NULL或其余变量完全两样。

    undefined.
    变量未定义时的品质。

    Number.
    表示数字,例如: 42 可能 3.14159。

    String.
    代表字符串,例如:”Howdy”

    Symbol ( 在
    ECMAScript 6
    中新加上的系列).。一种数据类型,它的实例是绝无仅有且不得变更的。

  • 以及
    Object 对象