指令式編程的思維
指令式編程:程序一般是從上到下,但是可以通過條件判斷來執行對應的代碼段;
循環
//定義一個變量
var a = 5;
//定義一個函數
function f(){
printStr (3)
}
//打印輸出
console.log(a)
執行結果是:5;程序從上到下執行,遇到函數跳過執行后邊的代碼,函數不調用不執行。
// 循環輸出一行
var printstr = '';
for(var j=0;j<20;j++){
//循環拼接輸出一行字符串
for(var i=0;i<10;i++){
printstr += "*";
// 當輸出一行就換行
printstr += "\n";
}
//打印輸出
console.log(printstr);
封裝函數
//定義默認的輸出字符串
var printstr = '';
function juxing(r,c){
for(var j=0;j<r;j++){
//循環拼接輸出一行字符串
for(var i=0;i<c;i++){
printstr += "*";
}
//當輸出一行就換行
printstr += "\n";
}
}
// 調用fun函數 5行5列
juxing(5,5);
功能抽象
//定義默認的輸出字符串
var a = '';
//打印行
function hang(num,cont){
//循環拼接輸出一行字符串
for(var i=0;i<num;i++){
printstr += cont;
}
}
//換行的函數
function br(){
//當輸出一行就換行
printstr += "\n";
}
//合到一起的函數
function jx(r,c){
for(var j=0;j<r;j++){
//打印行
hang(c,'#');
//輸出一行后就換行
br();
}
}
//調用jx函數
jx(5,5);
多人協同開發會有命名空間,js中是沒有命名空間的,此時要考慮作用域的問題。
立即執行的函數
(function(){
var a = 10;
})();
var a 是一個局部變量
變量函數
var b = function(){
}
function f(){
return function(){
}
}
var c = f();
c就等于f函數內部的函數