一、變數
從字面上看,變數是可變的量;從程式設計角度講,變數是用於儲存資料的容器
1.1變數特性
javascript中的變數是鬆散類型的,可以保存任何類型的資料。由於不存在定義某個變數必須要保存何種資料型別值的規則,變數的值及其資料型別可以在腳本的生命週期內改變
1.2變數命名
變數可以任意取名,但必須遵循命名規則:
[1]第一個字元必須是字母、底線或美元符號。其他字元可以是字母、底線、美元符號或數字
//错误示范 6num //开头不能用数字 %sum //开头不能用除(_ $)外特殊符号,如(% + /等) sum+num //开头中间不能使用除(_ $)外特殊符号,如(% + /等)
[2]字元中的字母可以包含拓展的ASCII或Unicode字母字符,也可以使用中文
[3]不能使用關鍵字、保留字、true、false和null
[4]變數對大小寫敏感
[5]標識符應採用小駝峰格式,第一位應該是資料的類型,常見的標識如下:
陣列 a Array aItems
布林值 b Boolean bIsComplete
浮點數 f Float fPrice
函數 fn Function fnHandler
整數 i Integer iItemCount
物件 o Object oDIv1
正規表示式 re RegExp reEmailCheck
字串 s String sUserName
變數 v Variant vAnything
1.3變數宣告
宣告格式為: var 變數名;
var num;//声明一个变量 var num1,num2;//声明多个变量
用var運算元定義的變數將成為定義該變數的作用域中的局部變數。若省略var操作符,可以建立一個全域變量,但在嚴格模式下會拋出 ReferenceError錯誤
var num1=1; num2=2;//在严格模式下会报错 num3;//报错
如果重新宣告 JavaScript 變量,則變數的值不會遺失
var carname="Volvo"; console.log(carname);//Volvo var carname; console.log(carname);//Volvo
1.4聲明提升
javascript中的變數宣告會提升到所有函數和語句之前,但提升後的變數會傳回undefined,因為只是宣告提升,賦值運算並沒有提升
console.log(myvar); // undefined var myvar = "local value"; console.log(myvar); // "local value"
1.5變數賦值
使用"="給變數賦值,也就是儲存內容。變數可以在宣告時賦值,但不能有其他操作,如+=、-=等
var num = 5; //上下是等价的 var num; num = 5; var a = 2;//正确 var a += 2;//错误 var a = 2++;//错误,++只能用于变量,不能用于常量
二、識別碼
識別字是指變數、函數、屬性的名字,或是函數的參數
2.1識別碼命名
命名規則同變數命名規則,對於不符合命名規則的屬性如border-color應寫為大括號方式[borderColor]
2.2標識符解析
標識符解析是沿著作用域鏈一級一級搜尋標識符的過程。搜尋過程總是從作用域鏈的前端開始,然後逐級地向後回溯,直到找到標識符為止。
[1]如果局部環境中存在同名標識符,就不會使用父環境中的標識符
[2]如果找不到標識符,表示標識符尚未聲明,通常會導致錯誤發生
[3]JavaScript引擎在最佳化識別碼查詢方面做得不錯,存取父環境和局部環境的識別碼的時間差異可以忽略不計
var num = 1; function test(){ num = 2; console.log(num);//2 console.log(number);//报错 } test();
以上就是關於javascript的變數與識別字的相關內容,希望對大家的學習有所幫助。