新手指南JavaScript變量的聲明學習筆記-js教程-網頁制作

香港交友討論區HkEasyChat

 找回密碼
 新會員註冊
..
喜歡本頁?立即SHARE


香港交友討論區HkEasyChat»論壇forum Hkeasychat電腦網絡 Blog/網頁設計程式區 JavaScript變量的聲明學習筆記-js教程-網頁制作
您正在討論區的: JavaScript變量的聲明學習筆記-js教程-網頁制作
查看: 108|回復: 0
收起左側

JavaScript變量的聲明學習筆記-js教程-網頁制作

[複製鏈接]

簽到天數: 2 天

連續簽到: 1 天

[LV.1]初來乍到

評論頭像

在js中變量創建通常稱為“聲明”變量了,下面我來給大家介紹一些比較基礎一js變量聲明與使用方法,希望此教程對各位同學會有所幫助。
變量的聲明
JavaScript 使用關鍵字 var 來聲明變量,可以先聲明後賦值,也可以在聲明的同時賦值,多個變量同時聲明使用逗號(,)分隔。例如︰
代碼如下復制代碼
// 先聲明,後賦值
var sex;
sex="男";
// 聲明的同時進行賦值
var age=22;
var name="張三";
// 同時聲明多個變量
var x=1,y=2,z=3;
// 聲明多個變量時用逗號( ,)分開其中,sex、age、name ... 稱為 變量名,"男"、22、」張三 ... 稱為 變量值。
JavaScript 是弱類型的語言,聲明變量時無需聲明數據類型,JavaScript 會根據變量內容自動判斷數據類型。
JavaScript 變量命名規範︰變量必需以 字母、$ 和 _ 開頭,不能以數字和其他字符開頭。
注意︰JavaScript 是區分大小寫的,變量 age 不等于 AGE 。
變量的使用
變量聲明以後,就可以使用了。
例如,聲明了兩個變量 x 和 y ︰
代碼如下復制代碼
var x=2;
var y=3;要想得到 x+y 的值,可以︰
var z=x+y;
document.write(z);運行代碼,將輸出 5 。

Y︰

未賦值變量
未賦值變量是指已經使用 var 關鍵字聲明,但是沒有賦值的變量。
在JavaScript中,未賦值變量有一個默認值,是 undefined ,即」 未定義 「。
例如︰
代碼如下復制代碼
var x; // x = undefined
alert(x);
運行代碼,彈出警告框,顯示 undefined 。
注意︰未賦值變量不等于未聲明的變量。在JavaScript中,引用一個未賦值的變量,其值為 undefined ,引用一個未聲明的變量將會引發錯誤。
例如︰
代碼如下復制代碼
alert(xyz);
運行代碼,沒有彈出警告框,打開 Chrome 調試工具(F12),可以看到引發了如下錯誤︰
Uncaught ReferenceError: xyz is not defined
即「未捕獲的引用錯誤︰xyz 沒有定義」。

這時有人可能會問,上述的兩種聲明有什麼區別,為什 麼會有這兩種不同的聲明方式,這就涉及到javascript中變量的作用域了。在javascript中,變量的作用域包括全局和函數級別的。
全局變量可以聲明在函數體外,無論使用上述的哪種聲明方式,在函數體外 聲明的變量都是全局變量。如︰
代碼如下復制代碼

運行結果︰1 2
另外,在函數內部聲明的變量如果不使用var關鍵字,聲明的變量也將是全局變量。如︰
代碼如下復制代碼

運行結果︰1
但是需要注意,這種情況下,若要使用變量,必須先調用聲明變量的函數對變量進行初始化, 如foo(),否則,將會出現「變量v未定義」的錯誤。
全局變量將作為window對象的屬性存在,因為可以 通過window.$($表示變量名)訪問。當然也可以通過變量名直接訪問。下面會講到為什麼有這兩種訪問方式。
在函數內部通過var關鍵字聲明的變量將是函數級別的變量,其作用域僅僅限于函數內部。如︰
代碼如下復制代碼

運行結果︰1 變量「v」未定義
通過上面的分析,可以發現關鍵字var主要作用 是定義函數級別的變量。
細心的朋友可以會問,如果在函數內部和外部定義了相同的變量,會是什麼樣的結果呢?如︰
代碼如下復制代碼

運行結果︰undefined
!!!!!也釵酗H會比較郁悶了,v明明白白的定義在函數foo()體外,為什麼會是 undefined呢?這就涉及到javascript的解析了。根據經驗,javascript對于函數體內變量的解析過程是︰
搜索所有的 var關鍵字,將其變量聲明放到函數體的最前面,賦值和使用仍然保持不變,這樣,上面的javascript實際上是等同于︰
代碼如下復制代碼

照此分析,產生上述 的結果就顯而易見了,由于函數內部的變量的優先級高于全局變量的優先級(大部分的編程語言都是這樣), 函數內部的變量v覆誘F全局變量v,但是由于在使用函數內部變量v時,它僅僅聲明,但未賦值,因此結果是undefined。
如果在方法 體內仍然要使用定義的全局變量v,window對象此時派上大大的用場了,可以通過window.v來訪問。如︰
代碼如下復制代碼

運行結果︰2 undefined

變量的作用域
JS中變量的作用域分為全局變量和局部變量,函數內定義的稱為局部變量,函數外的稱為全局變量。(「函數外的稱為全局變量」是相對的,另此處討論的前提是用var顯式聲明的變量,函數內不用var定義的變量默認是全局變量,當然忽略var聲明變量是不贊成的)。
代碼如下復制代碼
var glob = 4;//函數外聲明全局變量
function fun() {
var height = 20; //函數內用var聲明的是局部變量
weight = 50; //函數內不用var聲明的是全局變量
}
fun();
alert(weight);
  JS中沒有塊級作用域,即用大括號{}包含的。Java中則有。在main方法中寫入下代碼︰
[table=560,#FB7] [tr]        [td=1,1,464] 代碼如下[/td]        [td=1,1,109]復制代碼[/td] [/tr] [tr]        [td=2,1]
public static void main(String... args) {
  for(int i=0;i





系統自動相關推薦tag:forum,交友,alexa



上一篇︰JavaScript數據類型學習筆記詳解-js教程-網頁制作
下一篇︰JS手機觸摸屏的事件用法詳解-js教程-網頁制作
+10
如您覺得" JavaScript變量的聲明學習筆記-js教程-網頁制作 "很膠,請share出去
您正在回覆: JavaScript變量的聲明學習筆記-js教程-網頁制作
您需要登錄後才可以回帖 登錄 | 新會員註冊

本版積分規則

回post預設係匿名,如唔想匿名回post請會員自己勾走
勿為一時快錢 漠視援交風險

閱讀版|閱讀版大量|純文字網頁|香港交友討論區

Copyright © 香港交友討論區HKEASYCHAT Co. All Rights Reserved
香港廣告銷售No.1

手機版|論壇聯絡
HK ADVERTISEMENT 2015 GOLDEN REWARDS

GMT+8, 24-2-2018 10:07 AM

快速回復 返回頂部 返回列表
保持討論區活躍高登錄一齊討論啦~ hkeasychat