日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

065_const关键字

發(fā)布時間:2025/4/17 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 065_const关键字 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. const定義的變量與let類似, 但不能重新賦值:

const PI = 3.141592653589793; PI = 3.14; // 會出錯 PI = PI + 10; // 也會出錯

2. 在聲明時賦值

2.1. JavaScript const變量必須在聲明時賦值:

// 不正確 const PI; PI = 3.14159265359; // 正確 const PI = 3.14159265359;

3. 常量對象可以更改

3.1. 您可以更改常量對象的屬性:

const mobile = {name: 'huawei', color: 'white'}; mobile.color = 'black'; // 更改屬性 mobile.id = 1001; // 添加屬性

3.2. 但是您無法重新為常量對象賦值:

const mobile = {name: 'huawei', color: 'white'}; mobile = {}; // 報錯, 無法重新賦值

4. 常量數(shù)組可以更改

4.1. 您可以更改常量數(shù)組的元素:

const books = ['java編程思想', 'java編程語言']; books[1] = 'java編程語言(第三版)'; // 更改元素 books.push('java核心技術(shù)'); // 添加元素

4.2. 但是您無法重新為常量數(shù)組賦值:

const books = ['java編程思想', 'java編程語言']; // books = []; // 報錯, 無法重新賦值

5. 塊作用域

5.1. 可以使用const關(guān)鍵字聲明擁有塊作用域的變量(和let關(guān)鍵字一樣)。

5.2. const?在塊{}內(nèi)聲明的變量無法從塊外訪問。

5.3. 實例

{var a = 5; // 給a初始化為5 } document.write('a = ' + a + "<br />"); // 輸出a = 5{let b = 10;// let在塊內(nèi)聲明的變量, 只能在塊內(nèi)訪問。document.write('b = ' + b + "<br />"); // 輸出b = 10 } // 塊外不能訪問b, 訪問b, 報錯{const c = 15;// const在塊內(nèi)聲明的變量, 只能在塊內(nèi)訪問。document.write('c = ' + c + "<br />"); // 輸出c = 15 } // 塊外不能訪問c, 訪問c, 報錯

6. 循環(huán)作用域

6.1. 循環(huán)中使用const聲明的變量, 在循環(huán)外不能訪問(和let關(guān)鍵字一樣)。

for(var i = 1; i <= 3; i++){document.write('i = ' + i + "<br />"); } document.write('i = ' + i + "<br />"); // 輸出i = 4 document.write('i = ' + window.i + "<br />"); // 輸出i = 4var obj = {id: 1001, name: 'zs'}; for(var item in obj){document.write('item = ' + item + "<br />"); } document.write('item = ' + item + "<br />"); // 輸出item = name document.write('item = ' + window.item + "<br />"); // 輸出item = namefor(let j = 1; j <= 3; j++){document.write('j = ' + j + "<br />"); } // 不能訪問jfor(let key in obj){document.write('key = ' + key + "<br />"); } // 不能訪問key // 這里有k++, const定義的變量必須初始化, 而且不能改變, 因此并不適用于定義for循環(huán)的變量。但是for循環(huán)體外不能訪問const定義的變量。 // for(const k = 1; k <= 3; k++){ // document.write('k = ' + k + "<br />"); // } for(const k = 1; k <= 3;){document.write('k = ' + k + "<br />");break; }for(const key in obj){document.write('key = ' + key + "<br />"); } // 不能訪問key

7. 函數(shù)作用域

7.1. 在函數(shù)內(nèi)聲明變量時, 使用var、let和const很相似。它們都有函數(shù)作用域:

function myFunction1() {var bookName = "Effective Java"; // 函數(shù)作用域document.write('bookName = ' + bookName + "<br />"); // bookName = Effective Java } myFunction1(); // document.write('bookName = ' + bookName + "<br />"); // 訪問bookName會報錯 function myFunction2() {let mobileName = "huawei"; // 函數(shù)作用域document.write('mobileName = ' + mobileName + "<br />"); // mobileName = huawei } myFunction2(); // document.write('mobileName = ' + mobileName + "<br />"); // 訪問mobileName會報錯 function myFunction3() {const computerName = "聯(lián)想"; // 函數(shù)作用域document.write('computerName = ' + computerName + "<br />"); // computerName = 聯(lián)想 } myFunction3(); // document.write('computerName = ' + computerName + "<br />"); // 訪問computerName會報錯

8. 全局作用域

8.1. 如果在塊外聲明聲明, 那么var、let和const也很相似。它們都擁有全局作用域:

var d = 20; // 全局作用域 let e = 25; // 全局作用域 const f = 30; // 全局作用域

9. html中的全局變量

9.1. 使用JavaScript的情況下, 全局作用域是JavaScript環(huán)境。

9.2. 在html中, 全局作用域是window對象。

9.3. 通過var關(guān)鍵詞定義的全局變量屬于window對象。

9.4. 通過const關(guān)鍵詞定義的全局變量不屬于window對象, 屬于JavaScript環(huán)境(和let關(guān)鍵字一樣):

var d = 20; document.write('d = ' + d + "<br />"); // d = 20 document.write('d = ' + window.d + "<br />"); // d = 20let e = 25; document.write('e = ' + e + "<br />"); // e = 25 document.write('e = ' + window.e + "<br />"); // e = undefinedconst f = 30; document.write('f = ' + f + "<br />"); // f = 30 document.write('f = ' + window.f + "<br />"); // f = undefined

10. 重新聲明

10.1. 在相同的作用域, 通過const重新聲明一個var或let變量是不允許的:

var I = 'I_01'; // 允許 let I = 'I_02'; // 不允許 function myFn01(){var I = 'I_01'; // 允許let I = 'I_02'; // 不允許 }var II = 'II_01'; // 允許 const II = 'II_02'; // 不允許 function myFn02(){var II = 'II_01'; // 允許const II = 'II_02'; // 不允許 }let III = 'III_01'; // 允許 const III = 'III_02'; // 不允許 function myFn02(){let III = 'III_01'; // 允許const III = 'III_02'; // 不允許 } {let III = 'III_01'; // 允許const III = 'III_02'; // 不允許 }

10.2. 在相同的作用域, 通過var、let、const重新聲明一個const變量是不允許的:

const IV = 'IV_01'; // 允許 var IV = 'IV_01'; // 不允許 function myFn03(){const IV = 'IV_01'; // 允許var IV = 'IV_01'; // 不允許 }const V = 'V_01'; // 允許 let V = 'V_02'; // 不允許 {const V = 'V_01'; // 允許let V = 'V_02'; // 不允許 } function myFn04(){const V = 'V_01'; // 允許let V = 'V_02'; // 不允許 }const VI = 'VI_01'; // 允許 const VI = 'VI_02'; // 不允許 {const VI = 'VI_01'; // 允許const VI = 'VI_02'; // 不允許 } function myFn05(){const VI = 'VI_01'; // 允許const VI = 'VI_02'; // 不允許 }

11. 例子

11.1. 代碼

<!DOCTYPE html> <html><head><meta charset="utf-8" /><title>const關(guān)鍵字</title></head><body><script type="text/javascript">// 不能重新賦值const PI = 3.141592653589793;// PI = 3.14; // 會出錯// PI = PI + 10; // 也會出錯const mobile = {name: 'huawei', color: 'white'};mobile.color = 'black'; // 更改屬性mobile.id = 1001; // 添加屬性// mobile = {}; // 報錯, 無法重新賦值const books = ['java編程思想', 'java編程語言'];books[1] = 'java編程語言(第三版)'; // 更改元素books.push('java核心技術(shù)'); // 添加元素// books = []; // 報錯, 無法重新賦值{var a = 5; // 給a初始化為5}document.write('a = ' + a + "<br />"); // 輸出a = 5{let b = 10;// let在塊內(nèi)聲明的變量, 只能在塊內(nèi)訪問。document.write('b = ' + b + "<br />"); // 輸出b = 10}// 塊外不能訪問b, 訪問b, 報錯{const c = 15;// const在塊內(nèi)聲明的變量, 只能在塊內(nèi)訪問。document.write('c = ' + c + "<br />"); // 輸出c = 15}// 塊外不能訪問c, 訪問c, 報錯for(var i = 1; i <= 3; i++){document.write('i = ' + i + "<br />");}document.write('i = ' + i + "<br />"); // 輸出i = 4document.write('i = ' + window.i + "<br />"); // 輸出i = 4var obj = {id: 1001, name: 'zs'};for(var item in obj){document.write('item = ' + item + "<br />");}document.write('item = ' + item + "<br />"); // 輸出item = namedocument.write('item = ' + window.item + "<br />"); // 輸出item = namefor(let j = 1; j <= 3; j++){document.write('j = ' + j + "<br />");}// 不能訪問jfor(let key in obj){document.write('key = ' + key + "<br />");}// 不能訪問key // 這里有k++, const定義的變量必須初始化, 而且不能改變, 因此并不適用于定義for循環(huán)的變量。但是for循環(huán)體外不能訪問const定義的變量。// for(const k = 1; k <= 3; k++){// document.write('k = ' + k + "<br />");// }for(const k = 1; k <= 3;){document.write('k = ' + k + "<br />");break;}for(const key in obj){document.write('key = ' + key + "<br />");}// 不能訪問key function myFunction1() {var bookName = "Effective Java"; // 函數(shù)作用域document.write('bookName = ' + bookName + "<br />"); // bookName = Effective Java}myFunction1();// document.write('bookName = ' + bookName + "<br />"); // 訪問bookName會報錯function myFunction2() {let mobileName = "huawei"; // 函數(shù)作用域document.write('mobileName = ' + mobileName + "<br />"); // mobileName = huawei}myFunction2();// document.write('mobileName = ' + mobileName + "<br />"); // 訪問mobileName會報錯 function myFunction3() {const computerName = "聯(lián)想"; // 函數(shù)作用域document.write('computerName = ' + computerName + "<br />"); // computerName = 聯(lián)想}myFunction3();// document.write('computerName = ' + computerName + "<br />"); // 訪問computerName會報錯 var d = 20;document.write('d = ' + d + "<br />"); // d = 20document.write('d = ' + window.d + "<br />"); // d = 20let e = 25;document.write('e = ' + e + "<br />"); // e = 25document.write('e = ' + window.e + "<br />"); // e = undefinedconst f = 30;document.write('f = ' + f + "<br />"); // f = 30document.write('f = ' + window.f + "<br />"); // f = undefined</script></body> </html>

11.2. 效果圖

總結(jié)

以上是生活随笔為你收集整理的065_const关键字的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。