- Node.js權威指南
- 陸凌牛
- 661字
- 2019-01-01 00:13:25
2.2 在REPL運行環境中操作變量
在REPL運行環境中,可以使用var關鍵字來定義一個變量并為其賦值,但是在輸入了對其賦值進行的表達式后,該表達式的執行結果將被顯示為undefined。
例如,在如下所示的兩條表達式中,第一條表達式中不使用var關鍵字,執行結果為變量值,第二條表達式中使用var關鍵字,執行結果為undefined。
> foo='bar'; 'bar' >var foo='bar'; undefined
之所以出現這樣兩種不同的結果,是因為REPL環境內部使用eval函數來評估該表達式的執行結果。而在JavaScript代碼中,如果將上述兩條表達式作為eval函數的參數,則eval函數將返回不同的結果。
console.log("foo='bar'"); // 控制臺窗口中將輸出“bar” console.log("varfoo='bar'"); // 控制臺窗口中將輸出undefined
在REPL運行環境中為變量賦值后,我們可以通過輸入變量名的方法來查看變量內容。
將簡單類型的值賦值給變量后,輸入變量名后按下回車鍵,REPL運行環境中將直接顯示該變量值,輸入表達式及其執行結果如下所示:
// 為變量賦值 > foo='bar'; 'bar' // 輸入變量名后顯示變量值 >foo 'bar'
將對象賦值給變量后,輸入變量名后按下回車鍵,REPL運行環境中將直接顯示該變量所引用對象的各屬性名及屬性值,輸入表達式及其執行結果如下所示:
// 將對象賦值給變量 >user=new Object(); {} >user.Name='Lulingniu'; 'Lulingniu' >user.age=40; 40 // 輸入變量名后顯示變量所引用對象的各屬性名及屬性值 >user {Name:'Lulingniu',age:40}
如果變量所引用對象的某個屬性值為一個函數,輸入變量名并輸入回車鍵后,REPL運行環境中將把該屬性值顯示為“[function]”(這是因為函數中通常可能具有很多內容,如果REPL運行環境中使用函數內容來顯示該屬性值的話,一個變量內容往往可能會變得很長很長),輸入表達式及其執行結果如下所示:
// 將對象賦值給變量 >user=new Object(); {} >user.Name='Lulingniu'; 'Lulingniu' >user.setName=function(name){user.name=name}; [function] // 輸入變量名后顯示變量所引用對象的各屬性名及屬性值,使用” [function]”來顯示函數 >user {Name:'Lulingniu', setName:[function] }
推薦閱讀
- 嵌入式軟件系統測試:基于形式化方法的自動化測試解決方案
- SoapUI Cookbook
- Linux C/C++服務器開發實踐
- Python金融數據分析
- JavaScript:Moving to ES2015
- 基于ARM Cortex-M4F內核的MSP432 MCU開發實踐
- Geospatial Development By Example with Python
- JavaScript+jQuery網頁特效設計任務驅動教程
- Python趣味編程與精彩實例
- C++程序設計教程
- Photoshop CC移動UI設計案例教程(全彩慕課版·第2版)
- Learning D
- JavaScript設計模式與開發實踐
- Mastering Data Analysis with R
- C語言從入門到精通(第5版)