本篇文章要為大家詳細介紹一下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高階教學】
以上是JavaScript如何定義變數的詳細內容。更多資訊請關注PHP中文網其他相關文章!