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

首頁 > 編程 > JavaScript > 正文

JavaScript中var的重要性實例分析

2019-11-19 11:12:48
字體:
來源:轉載
供稿:網友

本文實例講述了JavaScript中var的重要性。分享給大家供大家參考,具體如下:

在JS中申明變量是使用var來進行申明,但是有的時候我們沒有使用var也可以。這是為什么呢?我來給大家細細的說來。

var的本質

var的本質就是來申明變量的

<script>var str = 'China';//申明并進行賦值</script>

變量的作用范圍

先以一個例子來說明引出問題,在這個例子中,在函數(shù)t中沒有使用var關鍵字來申明變量,系統(tǒng)認為只是進行賦值操作而已,而且這個賦值操作會影響到了window對象的str2屬性

<script>var str1 = 'China';//申明并賦值str1var str2 = 'Japan';//申明并賦值str2console.log(window.str1,window.str2);//輸出:China Japanfunction t(){  var str1 = 'local';//申明并賦值str1  str2 = 'global';//賦值操作,并不是申明變量,污染window對象的屬性}t();//調用t函數(shù)console.log(window.str1,window.str2);//輸出:China global</script>

變量的作用域

全局作用域:在最外層定義的變量

局部作用域:在函數(shù)內部定義的變量

JS作用域的特點:首先在函數(shù)內部查找變量,找不到則到外層函數(shù)查找,逐步找到最外層,即window對象,并操作window對象的屬性。

<script>var str = 'China';function t1(){  var str = 'Japan';  function t2(){    var str = 'USA';    console.log(str);  }  t2();}t1();</script>

這個例子比較典型,可以來說明JS變量的作用域切換問題,腳本首先在最外層定義了str屬性,當調用t1函數(shù)時,在t1函數(shù)中也定義了str變量和t2方法,當執(zhí)行t2方法時,此時又定義了str變量,所以此時打印USA。

當屏蔽t2函數(shù)中的定義操作,此時在t2函數(shù)作用域中沒有str變量,則從它的上一級作用域中查找,又因為t1函數(shù)中定義了str變量,此時打印Japan。

當屏蔽t1和t2函數(shù)中的定義操作,則一層一層地往外找,此時找到最外層,此時打印China。

當最外層也沒有定義該變量,在運行該JS過程中就找不到該變量,此時會出錯,在瀏覽器的控制臺可以找到錯誤。

更多關于JavaScript相關內容可查看本站專題:《JavaScript常用函數(shù)技巧匯總》、《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數(shù)據(jù)結構與算法技巧總結》及《JavaScript數(shù)學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 镇雄县| 台中县| 通城县| 洛隆县| 天气| 安丘市| 南部县| 类乌齐县| 怀仁县| 卓资县| 定兴县| 中西区| 布拖县| 新密市| 太仆寺旗| 宁乡县| 瑞昌市| 大同市| 东兴市| 乐亭县| 济宁市| 武川县| 吉隆县| 合肥市| 大竹县| 达拉特旗| 修水县| 静安区| 福建省| 越西县| 重庆市| 夹江县| 阿坝县| 禄丰县| 资兴市| 武乡县| 舞钢市| 武功县| 临安市| 浏阳市| 井研县|