知识点回顾
- markdown
- 全栈工程师
- 编程语言发展历程
ps: 这一块我断网了
指令式编程思维
顺序
var a = 0;
a = 2;
a += 1;
选择
if () {
} else {
}
循环
1.
a:
...
// 死循环
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);
抽象成打印函数(多少列,符号), 打印多少行(矩形,行列), 打印正方形(边长)
打印一个图形, 最简单最复杂的就是依次打出, 然而会有很多重复事件, 人讨厌而机器喜欢, 这时发现规律, 将所有重复事件抽象成一个整体函数, 然而此时代码利用率极低, 所以进一步抽取, 将整体函数抽取成一个个具有某特定功能的小函数, 由此构建成可打印各种各样图形的函数.
例lession1.html
多人合作开发很容易出现命名空间的问题, 下面使用多种方法重在说明和解决命名空间的问题.
<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;
})(); // 自执行, 解决命名空间问题
</script>
<script type = "text/javascript">
var a = function(){}
</script>
<script type = "text/javascript">
function f() {
return function() {}
}
var x = f();
x(); // 这里x执行的就是f函数返回的函数
</script>
</head>
<body>
</body>
</html>
作业
函数敲一遍
矩形
空心矩形
正方形
空心正方形
梯形
空心梯形
三角形
空心三角形
ubuntu 16.04