JavaScript 是一种多范式的动态语言,它包含类型、运算符、标准内置( built-in)对象和方法。
三、JavaScript 数据类型
JavaScript的类型包括:
* Number
* String
* Object
* Boolean
* Symbol
* undefined
* null
* Function
JavaScript 的基础类型其实是 7 种, Function 算是一种特殊的对象,并不是JavaScript的基础类型。
四、变量
JavaScript 中声明一个新变量的方法的关键字有三种 let
、const
和 var
1、let 声明的是一个块作用于的本地变量,并且可以将其初始化为一个值。
let 没有变量提升。 let 必须先声明,然后才能调用。不然会报错找不到这个let变量。
let 暂时性死区。全剧虽然用了这个变量tmp,但是如果在块级作用域内let又声明了一个局部变量tmp,那么将会导致后者绑定了块级作用域,所以在let声明变量前,对tmp赋值会报错。
var tmp = 12 if(true) { tmp = 666; let tmp; } // Uncaught ReferenceError: Cannot access 'tmp' before initialization
let 不允许重复声明
function a() { let a=10; let a=5; } // Uncaught SyntaxError: Identifier 'a' has already been declared function asd() { var a=10; let a=5; } // Uncaught SyntaxError: Identifier 'a' has already been declared function asd(a) { let a=5; } // Uncaught SyntaxError: Identifier 'a' has already been declared
一般使用的场景:for循环内部
2、var 最常见的声明变量的关键字。它没有其他两个关键字的种种限制。这是因为它是传统上在 JavaScript 声明变量的唯一方法。使用 var
声明的变量在它所声明的整个函数都是可见的。
3、const 声明一个不可变的常量。这个常量在定义域内总是可见的
const 虽然是不可变得,但是在数组或者对象里面,const的值是允许被修改的。因为const存储的是地址,值的内容可以变化