本篇文章给大家详细介绍一下JavaScript定义变量的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
var messageAsBoolean = "HHO";
定义变量的方式
var message = "qqqq"; message = "qqqq" let message = "qqqq"; const message = "aaaaa";
var 定义变量会自动提升到顶部作用域,let定义的变量不会提升至首行
function a() { console.log(a); // 不会报错,a作用域会自动提升至顶行,内容为 undefined var a = "aaaaaa"; }
等同于:
function a() { var a; console.log(a); a = "aaaaaa"; }
let 和 var 声明的变量作用域
let 声明的变量的作用范围是块作用域
function fun() { //函数块作用域的开始 if(true){ //if语句块作用域的开始 } //if语句块作用域的结束 } //函数块作用域的结束
var 声明的变量作用域为函数作用域
function fun(){ //函数作用域的开始 } //函数作用域的结束
全局声明方式
/* 1. 不使用 let、var等修饰,直接定义的变量 */ message = "aaaaaaaa"; /* 2. 在全局变量区申请的变量 */ var message = "aaaaaa"; let message = "aaaaa"; /* 注: js 文件的开始部分,不在任何函数内 */
条件声明
var 定义的变量会提升值函数的顶部,重复定义会被替换 */
function fun(){ var name = "lili"; if(true){ var name = "hho"; //不会报错,代码类似name = "hho"; console.log(name); //打印结果为hho } console.log(name); //打印结果为hho }
let 定义的变量不会被提升至函数的顶部
function fun(){ let name = "lili"; if(true){ let name = "hho"; //新定义变量name console.log(name); // 打印结果为hho } console.log(name); // 打印结果为lili }
const 定义的变量
定义的变量的属性和let相似,但是 const定义的变量值不可被修改
const name = "hho"; //只可使用,不可修改name变量的值
定义的变量的作用域为块作用域,和 let 相同
const 定义变量必须初始化
const name; // 报错
【推荐学习:javascript高级教程】
Atas ialah kandungan terperinci JavaScript如何定义变量. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!