一、变量
(1)使用var定义变量
var num1; //声明时不赋值,值为undefined
var num2 = "hello"; //声明时赋值,值为字符串“hello”
num2 = 123; //赋值时可以改变变量的类型
var num3=1, num4=5; //可同时声明多个变量
(2)使用let定义变量
let num1;
let num2="hello";
num2 = 123;
(3) let 与 var 的对比:
- var 和 let 声明全局变量时两者十分相似
- window可以调取var声明的变量,但不可以调取let声明的变量
- let 声明的变量只在 let 命令所在的代码块内有效(非全局变量时)
- 当var声明的变量为非全局变量时,在整个函数中有效
- var允许在同一作用域中声明同名的变量
- let不允许在同一作用域中声明同名的变量
二、全局变量
- 使用var或者let在函数外声明变量即可得到全局变量。
- 一种全局变量(在严格模式中不可用)
function func(){
abc = "abc"; //此处没有用var或let
}
func(); //当函数调用后,abc成为全局变量
console.log(abc); //正确
console.log(window.abc); //正确
/******注意以下两种情况******/
/*1*/
function func(){
var abc=1; //因为有var,所以之后调用func()并不会使abc成为全局变量
}
func();
console.log(window.abc); //abc为undefined
/*2*/
function func(){
var abc=efg=1;
}
func(); //efg成为全局变量
console.log(window.abc); //abc为undefined
console.log(window.efg); //可以获得efg的值
三、常量
const 用于声明一个或多个常量,声明时必须进行初始化,且初始化后值不可再修改
const a = 123; //正确
const b;
b = 123; //错误
const a = 123;
const a = 456; //错误 //不能重复声明
四、直接量
- 字符串直接量
- 模板字符串直接量
- 数字直接量
- 布尔直接量 (true , false)
- 正则直接量
- NULL直接量(null)
- 数组直接量
- 对象直接量
五、注释
//这是一个单行注释
/* 多行注释
多行注释
多行注释不能嵌套!!
*/
六、严格模式
1、启用严格模式
//整个文件使用严格模式
'use strict';
//只有该函数使用严格模式
function func(){
'use strict';
}