第一章中做者介绍了各类值,可是这些独立的值是没有意义的,只有当值放在更大的框架的时候才会彰显它们的价值。因此第二章开始介绍程序结构。javascript
一、var VS. let 以及 consthtml
做者推荐用 let ,由于var 有一些稀奇古怪的行为?暂时没有详细解释。java
const 用于绑定常量值浏览器
二、关于 JavaScript 的运行环境框架
在运行 JavaScript 程序的环境中,并不单单只有你定义的绑定,还有其它各式各样初始化就有的“环境绑定”。ide
例如说 prompt , 这是一个持有函数类型的绑定,不过在现代浏览器里几乎不用了,理由是它无法装饰。。不过在玩具式程序里却是用得不少。函数
typeof prompt "function"
typeof NaN "number"
三、关于自增号。this
在 JavaScript 里 ++ -- += -= *= 都是能够用的,可是在 Python 里不行,它有 += 却没有 ++ -- spa
四、javascript 命名规范.net
遵循驼峰命名法(能够发现 JavaScript 标准函数就是那样命名的, 但为何像 Number 那样的函数第一个字母是大写呢?由于是它是构造器)
Number("xxxx") NaN Number("222") 222
五、打印下面这个图形:
# ## ### #### ##### ###### #######
let result = "#"; for (let i = 0; i != 7; ++i) { console.log(result); result += "#"; }
六、关于控制流的小练习
Write a program that uses console.log
to print all the numbers from 1 to 100, with two exceptions. For numbers divisible by 3, print "Fizz"
instead of the number, and for numbers divisible by 5 (and not 3), print "Buzz"
instead.
When you have that working, modify your program to print "FizzBuzz"
for numbers that are divisible by both 3 and 5 (and still print "Fizz"
or "Buzz"
for numbers divisible by only one of those).
<script type="text/javascript"> for (let i = 1; i <= 100; ++i) { if (i % 3 === 0 && i % 5 === 0) { console.log("FizzBuzz"); } else if (i % 5 === 0) { console.log("Buzz"); } else if (i % 3 === 0) { console.log("Fizz"); } else { console.log(i); } } </script>
PS. 优先级 + - 等远大于 == != 远大于 &&和||(其中 && 大于||) 赋值号优先级是最小的,另外,上面的 === 属于画蛇添足,当能够肯定两边值类型相同的时候用 == 就能够了。
七、练习三:
Passing this string to console.log
should show something like this:
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
When you have a program that generates this pattern, define a binding size = 8
and change the program so that it works for any size
, outputting a grid of the given width and height.
<script type="text/javascript"> let size = Number(prompt("Enter the size of chessboard")); if (!Number.isNaN(size)) { // NaN 虽然含义是 "Not a Number",不过 typeof 输出类型仍然是 Number // 另外,意外发现 IE 环境竟然不支持 isNaN 属性 let result = ""; for (let i = 0; i != size; ++i) { for (let j = 0; j != size; ++j) { if ((i + j) % 2 == 0) { result += " "; } else { result += "#"; } } result += "\n"; } console.log(result); } </script>