1.1.2 Node.js控制臺(REPL)
Node.js也有自己的虛擬的運行環境:REPL。
我們可以使用它來執行任何的Node.js或者javascript代碼。還可以引入模塊和使用文件系統。
在終端的執行命令來打開控制臺,
1.1.3 加載Node.js腳本
記載node.js腳本文件非常簡單,運行“node 文件名”即可,“node program.js”。如果我們想快速執行一些簡單的語句,可以使用-e參數,這樣我們直接執行一些javascript或者node.js命令。
1.2.1 Node.js的基礎和語法
Node.js 建立在Google chrome的V8引擎和它的ECMAScript之上,其實node.js語法與前端javascript是非常的類似的,包括對象,函數,方法等。
重點的方面:
1、弱類型
2、Buffer-Node.js特殊數據類型
3、對象字面量
4、函數
5、數組
6、原型特性
7、編碼規范
1.2.1.1 弱類型
自動類型轉換的特性可以幫助我們節省很多時間和精力。實際上,javascript基本類型只有幾種:
String,Number,boolean,undefined,null,RegEXP,其他都是object(對象)
同樣,javascript中的string,number和boolean類型都有相關方法進行轉換,如:
‘a’===new String(‘a’) //false
‘a’===new String(‘a’).tostring() //true
‘a’==new string(‘a’) //true
==會自動類型轉換,而===則不會。PS:1、對于string,number等基本類型。(1)不同類型比較,==會轉換成同一個類型,在比較值是否相等,===如果類型不同,其結果就是不等。(2)同類型比較,直接進行值比較就行。2、對于數組和對象等高級類型。===與==沒有區別。3、基礎類型和高級類型。(1)對于==,將高級類型轉換為低級類型,然后進行值比較。(2)因為類型不同,===結果為false。
1.2.1.2 Buffer—node.js特殊的數據類型
Buffer做數據存儲非常有效。Node.js推薦在任何可以使用buffer的情況下去使用它,如:從文件系統中讀取內容或者接受網絡包等內容。
對象字面量:
var obj={
color:“green”,
type:“suv”,
owner:{
…}
}
函數也是對象
var obj=function{
this.color:”green”,
this.type:”suv”,
this.owner{
…
}
}
1.2.1.3 函數
在node.js和javascript中,函數是一等公民,我們可以把它當做變量使用,因為他們也是對象,函數擁有自己的屬性和特性。
定義/創建函數
方式:1、使用具名函表達式數;2、使用匿名函數表達式賦值給一個變量;3、同時使用以上兩種方式
1、使用具名函數
function f(){
console.log(‘Hi’);
return true;
}
2、使用匿名函數表達式賦值給變量
var f=function(){
console.log(‘Hi’);
return true;
}
3、同時使用兩種方式
var f=function f(){
console.log(‘HI’);
return true;
}
函數作為參數傳遞
var con=function(num){
return num+10;
}
var po=function(num,fn){
return fn(num);
}
po(10,con);
函數調用與函數表達式的對比
函數表達式:function f(){};
函數調用:f();
1.2.1.4 數組
數組也是對象,javascript數組并不是真實的數組,他們就是具有唯一數值索引對象(一般從0開始)。
var arr=[];
var arr2=[1,”Hi”,{a:2},function(){console.log(‘boo’);}];
var arr3=new Array();
var arr4=new Array(1,”Hi”,{a:2},function(){console.log(‘boo’);});
1.2.1.5 原型特性
Javascript沒有類的概念,對象可以直接從其他對象處繼承,我們稱之為原型繼承。
文章列表