国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

淺談JavaScript中定義變量時(shí)有無var聲明的區(qū)別

2019-11-20 14:15:32
字體:
供稿:網(wǎng)友

前段時(shí)間回答了一個(gè)關(guān)于定義變量時(shí)使用關(guān)鍵字var與否的區(qū)別,總結(jié)回顧一下。

1.在函數(shù)作用域內(nèi) 加var定義的變量是局部變量,不加var定義的就成了全局變量。
使用var定義:

var a = 'hello World';function bb(){ var a = 'hello Bill'; console.log(a);  }bb()      //'hello Bill'console.log(a);  //'hello world'

不使用var定義:

var a = 'hello World';function bb(){ a = 'hello Bill'; console.log(a);  }bb()      //'hello Bill'console.log(a);  //'hello Bill'

2.在全局作用域下,使用var定義的變量不可以delete,沒有var 定義的變量可以delete.也就說明隱含全局變量嚴(yán)格來說不是真正的變量,而是全局對(duì)象的屬性,因?yàn)閷傩钥梢酝ㄟ^delete刪除,而變量不可以。

3.使用var 定義變量還會(huì)提升變量聲明,即
使用var定義:

function hh(){ console.log(a); var a = 'hello world';}hh()      //undefined

不使用var定義:

function hh(){ console.log(a); a = 'hello world';}hh()      //'a is not defined'

這就是使用var定義的變量的聲明提前。

4.在ES5的'use strict'模式下,如果變量沒有使用var定義,就會(huì)報(bào)錯(cuò)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 祥云县| 玉山县| 颍上县| 白银市| 稻城县| 宝鸡市| 固镇县| 吴川市| 唐山市| 祁门县| 蛟河市| 中卫市| 宁明县| 甘洛县| 漳州市| 柳河县| 民勤县| 屯门区| 台东县| 永宁县| 瑞金市| 西盟| 宜都市| 永济市| 墨竹工卡县| 桐城市| 安宁市| 苍梧县| 澎湖县| 泽库县| 正定县| 大宁县| 新晃| 台东县| 蓬溪县| 屏山县| 通渭县| 鄂托克前旗| 松阳县| 淅川县| 东山县|