学习了js基本语法,做个笔记方便回顾
什么是表达式与语句
- 表达式是JavaScript的一个短语,JavaScript解释器可以对它求值以产生一个值。但是表达式不一定有返回值。表达式有以下几种:
-
直接量表达式: 1.7, Javscript
-
对象和数组初始化表达式:[],[1,2,3],{}
-
函数定义表达式(注意如何区分函数定义与函数表达式):var foo = function () {};
-
属性访问表达式:expression. identifier,expression[ expression]
-
函数调用表达式:Math.max(x,y,z)
-
创建对象表达式: new Object(), new Object
add(1,2)这个表达式的值为函数的返回值
console.log表达式的值为函数本身
console.log(3)这个表达式的值为undefined,只是在控制台打印了3
- 语句是执行一个操作。两者的区别有表达式一般都有值,但是语句可有可没有;语句一般改变环境(声明、赋值)
标识符的规则
- 第一个字符可以是unicode字母、$、_或者中文.
- 后面的字符可以是除了上面讲的还能是数字。
一些典型语句
- if ...else...语句,一般写法为
if(条件表达式){
}else{
}
{}在只有一个语句时可以省略,if表达式里面还可以再继续嵌套if...else语句。
- while-for语句
while(条件表达式){
只要条件表达式结果为真,循环一直执行,当条件表达式为错时循环终止
}
for循环是while循环的方便写法 语法为
for(语句一;表达式二;语句三){
循环体
}
先执行语句一,进行表达式二判断,如果为真执行循环体,最后再执行语句三,如果为假的直接跳过循环,执行后面的语句。
- break与continue都是在循环体内,break指的是退出所有循环,不再执行,而continue指的是退出当次循环。
{foo:1}是返回的时一个对象;而{foo:1;}返回的是1 ,实际就是{foo:1}是block里面的一个标签,不是对象,如果改成var a={foo:1}就是一个对象