0805_指令式編程思維

知識點回顧

  1. markdown
  2. 全棧工程師
  3. 編程語言發(fā)展歷程

ps: 這一塊我斷網了

指令式編程思維

順序

var a = 0;
a = 2;
a += 1;

選擇

if () {

} else {

}

循環(huán)

1.
a:
...
// 死循環(huán)
goto a;

2.
a:
if () goto b:
...

b:

3.
var flag = true;
while (flag) {

  if() {
    flag = ture;
  }
}

4.
for (var i=0; i<100; i++) {
  // break; continue;
}

例lession1.js:

打印*號
打印矩形*號

var printStr = "";
function printChar(k, c) {
  for (var i=0; i<k; i++) {
    printStr += c;
  }
}
function n() {
  printStr += "\n";
}
function f(c, k) {
  for (var j=0; j<c; j++) {
    printChar(k, "*");
    n();
  }
}
f(5,5);
console.log(printStr);

抽象成打印函數(多少列,符號), 打印多少行(矩形,行列), 打印正方形(邊長)
打印一個圖形, 最簡單最復雜的就是依次打出, 然而會有很多重復事件, 人討厭而機器喜歡, 這時發(fā)現規(guī)律, 將所有重復事件抽象成一個整體函數, 然而此時代碼利用率極低, 所以進一步抽取, 將整體函數抽取成一個個具有某特定功能的小函數, 由此構建成可打印各種各樣圖形的函數.

例lession1.html

多人合作開發(fā)很容易出現命名空間的問題, 下面使用多種方法重在說明和解決命名空間的問題.

<html>
  <head>
    <title></title>
    <script type = "text/javascript">

      var a = 5;  // window.a = 5;(window是網頁的全局,js的全局式global)
      function f() {
        var a = 3; // 這里因為作用域不同所以不會有命名空間問題
        alert(a); // 3
        // alert(window.a); // 在局部里使用window獲得全局變量
        window.a = 6;
      }
      alert(a); // 5
      f();
      alert(a); // 6
      // 打印內容是536
    </script>

    <script type = "text/javascript">
      (function(){
        var user;

      })(); // 自執(zhí)行, 解決命名空間問題
    </script>

    <script type = "text/javascript">
      var a = function(){}
    </script>

    <script type = "text/javascript">
      function f() {
        return function() {}
      }
      var x = f();
      x(); // 這里x執(zhí)行的就是f函數返回的函數
    </script>
  </head>

  <body>
  </body>
</html>

作業(yè)

函數敲一遍

矩形

空心矩形

正方形

空心正方形

梯形

空心梯形

三角形

空心三角形

ubuntu 16.04

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容