復(fù)習(xí):
- 項(xiàng)目文檔:api手冊(cè) 用markdown編寫
- 不同編程語言的區(qū)別
- 函數(shù)式編程:讓電腦像人一樣思考
- 指令式編程:讓人像電腦一樣思考
總結(jié):編程思想優(yōu)化棍厌,思維抽象,功能細(xì)化竖席,代碼復(fù)用
1. 封裝函數(shù),減少代碼冗余
//定義默認(rèn)的輸出字符串
var printstr = '';
function fun(r,c){
for(var j=0;j<r;j++){
//循環(huán)拼接輸出一行字符串
for(var i=0;i<c;i++){
printstr += "*";
}
//當(dāng)輸出一行就換行
printstr += "\n";
}
}
//調(diào)用fun函數(shù) 5行10列
fun(5,10);
//打印輸出
console.log(printstr);
2.0 進(jìn)一步抽象功能
//定義默認(rèn)的輸出字符串
var printstr = '';
//打印行
function printChar(num,cont){
//循環(huán)拼接輸出一行字符串
for(var i=0;i<num;i++){
printstr += cont;
}
}
//換行的函數(shù)
function br(){
//當(dāng)輸出一行就換行
printstr += "\n";
}
function fun(r,c){
for(var j=0;j<r;j++){
//打印行
printChar(c,'#');
//輸出一行后就換行
br();
}
}
//調(diào)用fun函數(shù) 5行10列
fun(5,10);
//打印輸出
console.log(printstr);
2.1 打印三角形
printChar(5,' ');
printChar(1,'*');
br();
printChar(4,' ');
printChar(3,'*');
br();
printChar(3,' ');
printChar(5,'*');
br();
printChar(2,' ');
printChar(7,'*');
br();
printChar(1,' ');
printChar(9,'*');
2.2 打印梯形
br();
printChar(3,' ');
printChar(5,'*');
br();
printChar(2,' ');
printChar(7,'*');
br();
printChar(1,' ');
printChar(9,'*');
2.3 打印空心矩形
//打印第一行
printChar(10,'*');
br();
printChar(1,'*');
printChar(8,' ');
printChar(1,'*');
br();
//打印中間帶有空白的行
printChar(1,'*');
printChar(8,' ');
printChar(1,'*');
br();
printChar(1,'*');
printChar(8,' ');
printChar(1,'*');
br();
//打印最后的行
printChar(10,'*');
2.3 注重命名空間
立即執(zhí)行的函數(shù)
(function(){
var num = 10;
})();
var num 是一個(gè)局部變量
變量函數(shù)
var returnFun = function(){
}
function f(){
return function(){
}
}
var x = f();
x就等于f函數(shù)的內(nèi)部函數(shù)
(function(){})(); //立即執(zhí)行