最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript變量聲明實例分析

 更新時間:2015年04月25日 11:59:28   作者:大熊貓侯佩  
這篇文章主要介紹了javascript變量聲明,實例分析了javascript變量聲明的相關(guān)使用技巧,需要的朋友可以參考下

本文實例講述了javascript變量聲明的方法。分享給大家供大家參考。具體分析如下:

js中使用一個變量之前應(yīng)當(dāng)先聲明。變量使用關(guān)鍵字var來聲明。

如果未在var聲明語句中給變量指定初始值,則該變量值為undefined。
不用在聲明變量時指定變量類型,js變量可以是任意數(shù)據(jù)類型。

使用var語句重復(fù)聲明變量是合法且無害的。如果重復(fù)聲明帶有初始化器,則就和簡單的賦值語句沒啥區(qū)別。

如果試圖讀取一個沒有聲明的變量,則js會報錯。在ECMAScript5嚴(yán)格模式下,給一個沒有聲明的變量賦值也會報錯;然而從歷史上來說,在非嚴(yán)格模式下,如果給一個未聲明變量賦值,js實際上會給全局對象創(chuàng)建一個同名屬性,且貌似它工作起來像一個正確聲明的全局變量。這意味著你可以僥幸不聲明全局變量,但這是一個壞習(xí)慣會造成很多bug,最好始終使用var來聲明變量。

在函數(shù)體內(nèi),同名的局部變量會覆蓋全局變量。
盡管全局作用域?qū)懘a可以不寫var語句,但聲明局部變量時必須使用var語句,參考如下代碼:

scope = "global";
function foo(){
  scope="local"
  //fk!我們剛剛修改了全局變量?。?!
}

在類似C語言的編程語言中,花括號中每一段代碼都有各自的作用域,且變量在聲明它們代碼段之外是不可見的,我們稱之為塊級作用域(block scope);而js中沒有塊級作用域,而是取而代之的使用了函數(shù)作用域(function scope):變量在聲明它們的函數(shù)體以及這個函數(shù)體嵌套的任意函數(shù)體內(nèi)都是有定義的(無論是內(nèi)嵌套還是外嵌套?)
js的函數(shù)作用域指在函數(shù)內(nèi)聲明的所有變量在函數(shù)體內(nèi)始終是可見的,這意味著變量在聲明前甚至可以使用了。js的這個特性非正式的稱為聲明提前(hoisting),即js函數(shù)里聲明的所有變量(但沒有賦值)都被“提前”至函數(shù)體的頂部。

var scope = "global";
function f(){
  console.log(scope);
  //輸出"undefined"而不是"global"
  var scope = "local";
  //變量在這里賦初始值,但變量在函數(shù)體內(nèi)任何地方均是有定義的
  console.log(scope);
  //輸出"local"

以上代碼等價于:

function f(){
  var scope;
  console.log(scope);
  scope = "local";
  console.log(scope);
  }

當(dāng)聲明一個js全局變量時,實際上定義了全局對象的一個屬性。
當(dāng)用var聲明一個變量時,創(chuàng)建的這個屬性時不可配置的,即無法用delete運(yùn)算符刪除;但當(dāng)你沒有使用嚴(yán)格模式并給一個未聲明的變量賦值的話,js會自動創(chuàng)建一個全局變量,以這種方式創(chuàng)建的變量是全局對象的正??膳渲脤傩?,是可以刪除的:

var x = 1; 
y = 2;
this.z = 3; //同上
delete x; //返回false,無法刪除變量
delete y; //返回true,變量被刪除
delete this.z //同上

希望本文所述對大家的javascript程序設(shè)計有所幫助。

相關(guān)文章

  • vant倒序年月日期組件封裝實例詳解

    vant倒序年月日期組件封裝實例詳解

    這篇文章主要介紹了vant倒序年月日期組件封裝實例詳解,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-03-03
  • js項目中添加ts支持實現(xiàn)示例詳解

    js項目中添加ts支持實現(xiàn)示例詳解

    這篇文章主要為大家介紹了如何在js項目中添加ts支持實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • 談一談bootstrap響應(yīng)式布局

    談一談bootstrap響應(yīng)式布局

    這篇文章主要和大家談一談bootstrap響應(yīng)式布局,本教程講解如何在網(wǎng)頁布局中應(yīng)用響應(yīng)式設(shè)計,感興趣的小伙伴們可以參考一下
    2016-05-05
  • TypeScript安裝與使用的詳細(xì)教程

    TypeScript安裝與使用的詳細(xì)教程

    TypeScript是JavaScript的超集,擴(kuò)展了JavaScript的語法,因此現(xiàn)有的JavaScript代碼可與TypeScript一起工作無需任何修改,TypeScript通過類型注解提供編譯時的靜態(tài)類型檢查,下面這篇文章主要給大家介紹了關(guān)于TypeScript安裝與使用的詳細(xì)教程,需要的朋友可以參考下
    2023-01-01
  • 不刷新網(wǎng)頁就能鏈接新的js文件方法總結(jié)

    不刷新網(wǎng)頁就能鏈接新的js文件方法總結(jié)

    在本篇文章里小編給大家整理的是關(guān)于不刷新網(wǎng)頁就能鏈接新的js文件方法總結(jié),需要的朋友們參考下。
    2020-03-03
  • JS實現(xiàn)用戶注冊界面功能

    JS實現(xiàn)用戶注冊界面功能

    這篇文章主要為大家詳細(xì)介紹了JS實現(xiàn)用戶注冊界面功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Javascript將字符串日期格式化為yyyy-mm-dd的方法

    Javascript將字符串日期格式化為yyyy-mm-dd的方法

    日期格式化相信對于大家來說再熟悉不過,最近工作中自己利用Javascript就寫了一個,現(xiàn)在將實現(xiàn)的代碼分享給大家,希望對有需要的朋友們能有所幫助,感興趣的朋友們下面來一起看看吧。
    2016-10-10
  • js操作ajax返回的json的注意問題!

    js操作ajax返回的json的注意問題!

    js操作ajax返回的json的注意問題!
    2010-02-02
  • JavaScript中push(),join() 函數(shù) 實例詳解

    JavaScript中push(),join() 函數(shù) 實例詳解

    本文通過實例給大家介紹了JavaScript中push(),join() 的知識,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • ExpressJS使用express-ws的實例詳解

    ExpressJS使用express-ws的實例詳解

    這篇文章主要介紹了ExpressJS使用express-ws的實例代碼,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09

最新評論

呼玛县| 日照市| 淮北市| 屏东县| 靖宇县| 玉山县| 朔州市| 河津市| 玉屏| 延庆县| 中西区| 石狮市| 靖边县| 泸水县| 潮安县| 泰来县| 泰兴市| 河曲县| 常德市| 长海县| 库车县| 玉屏| 富民县| 尚志市| 河西区| 东山县| 游戏| 东阳市| 从化市| 镇原县| 临颍县| 青河县| 苏尼特左旗| 襄汾县| 岳阳市| 澜沧| 沅江市| 仙桃市| 香格里拉县| 长乐市| 临汾市|