兄弟會-全棧工程師 第二天筆記
指令式編程
讓人用計算機(jī)的方式編寫程序
在交互模式下可以執(zhí)行程序指令(程序指令不等于CPU指令)
NodeJS 運行于服務(wù)器端的JS程序
程序語言的基本執(zhí)行流程:
1. 順序
2. 分支
3. 循環(huán)
抽象思維
將重復(fù)的工作抽象成一個個最小的功能,然后將最小的功能封裝成一個個函數(shù),方便組合靈活調(diào)用。
類似于“活字印刷術(shù)”
1. 將基本的功能寫出來
2. 找規(guī)律
3. 根據(jù)規(guī)律抽象
JS語法特性
特別注意:
1. 變量的作用域
· 當(dāng)函數(shù)內(nèi)部變量前有 var 聲明時,則變量使用的是函數(shù)內(nèi)部的局部變量;
· 當(dāng)函數(shù)內(nèi)部變量前沒有使用 var 聲明時,則變量向外層尋找直到尋找到[window.變量]為止;
· 全局變量:
var a;
等于:
window.a;
<script>
var a = 5;
function f(){
var a = 1;
alert(a);//1
}
function g(){
a++;
alert(a);//6
}
alert(a);//5
f();//調(diào)用f函數(shù)
g();//調(diào)用g函數(shù)
</script>
2. JS閉包(匿名調(diào)用)
解決命名空間、包污染問題
例如:
(function(){
var a = 1;//定義局部變量
console.log(a);//1
})();
(function(){
var a = 2;//定義局部變量,但不與上面的定義的變量a沖突,且互不影響!
console.log(a);//2
})();
3. 回調(diào)函數(shù)
var f = function(){
//把函數(shù)做為返回值
return (function(){
console.log('inner Function !');
});
};
var t = f();//把f函數(shù)的返回值(函數(shù))賦值給t,這樣t也是一個函數(shù)了!
console.log(t);//function(){console.log('inner Function !');}
t();//inner Function!