不要写有歧义的代码和命名
不同的点&&运算和||运算
A&&B&&C&&D
取的是D前面的第一个假值或者D的真值,不会返回ture或者false。
A||B||C||D
取第一个真值或者D,不会返回ture或者false
一些特殊的表现
var a=0.1
while(a!=1){
console.log(a)
a=a+0.1
}
这是一个死循环,产生原因是浮点数不精确,永远都不会等于1
for(a=0;a<5;a++){
setTimeout(()=>{
console.log(a+'随机数'+Math.random())
},0)
}
这会打出来5个五和五个随机数,因为随着时间的推移a在变,而setTimeout是个等一下在打印的函数所以每次打出来就会是5.
JS大小写敏感,空格不敏感,只要不影响语句结构和断句就都可,换行也一样,但是换行在return后面则是有作用的,return会默认是返回当前一行内容而不是下一行的内容。
item 什么是表达式和语句
- 表达式:
1+2的值为3
add(1,2)的表达式为函数的返回值
console.log表达式的值为函数本身 undefined
console.log(3)的 值也是为 undefined - 语句
var a=1
这是一个语句
区别,表达式一般都有值,语句都可以,语句一般会改变环境(申明,赋值)但不是绝对
- 表达式:
标识符的规则
- 首字母
可以是’Unicode的字符’或者’$’或者’_’或者’中文’ - 后面的字符
除了上面的还可以有数字,数字不能在首位
- 首字母
- if else 语句
如果布尔表达式为 true,则执行 if 块内的代码。如果布尔表达式为 false,则执行 else 块内的代码。if(boolean_expression)
{
/* 如果布尔表达式为真将执行的语句 */
}
else
{
/* 如果布尔表达式为假将执行的语句 */
}
C 语言把任何非零和非空的值假定为 true,把零或 null 假定为 false。
- while for 语句
(1) while
while 循环会在指定条件为真时循环执行代码块。while (条件)
{
需要执行的代码
}
(2) for
for (var i=0;i<cars.length;i++)
{
document.write(cars[i] + "<br>");
}
循环可以将代码块执行指定的次数。
break continue
- break
跳出当前循环体,最近的一个。 - continue
跳过当前某一次的循环
- break
label
{
foo:1
}
这是一个lable 不是一个对象,就是代码块里面的一个标签