复习:
- 项目文档:api手册 用markdown编写
- 不同编程语言的区别
- 函数式编程:让电脑像人一样思考
- 指令式编程:让人像电脑一样思考
总结:编程思想优化,思维抽象,功能细化,代码复用
1. 封装函数,减少代码冗余
//定义默认的输出字符串
var printstr = '';
function fun(r,c){
for(var j=0;j<r;j++){
//循环拼接输出一行字符串
for(var i=0;i<c;i++){
printstr += "*";
}
//当输出一行就换行
printstr += "\n";
}
}
//调用fun函数 5行10列
fun(5,10);
//打印输出
console.log(printstr);
2.0 进一步抽象功能
//定义默认的输出字符串
var printstr = '';
//打印行
function printChar(num,cont){
//循环拼接输出一行字符串
for(var i=0;i<num;i++){
printstr += cont;
}
}
//换行的函数
function br(){
//当输出一行就换行
printstr += "\n";
}
function fun(r,c){
for(var j=0;j<r;j++){
//打印行
printChar(c,'#');
//输出一行后就换行
br();
}
}
//调用fun函数 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 注重命名空间
立即执行的函数
(function(){
var num = 10;
})();
var num 是一个局部变量
变量函数
var returnFun = function(){
}
function f(){
return function(){
}
}
var x = f();
x就等于f函数的内部函数
(function(){})(); //立即执行