label
1. 表达式和语句
表达式 (1+2) : 是可以被求值的代码。表达式的值?函数的返回值?
语句( var a=1) : 是一段可执行代码。
- 表达式: 表达式的值? 函数的返回值?
-
1+2表达式的值为3 = 函数的返回值
1+2
-
add(1,2)表达式的值 = 函数的返回值
add(1,2)
-
console.log表达式的值为函数本身 = 函数的返回值
image.png
-
console.log(2)表达式的值为多少? 其中: 表达式的值为2,函数返回值undefined
-

- 二者区别
- 表达式一般都有值,语句可能有可能么有
- 语句一般会改变环境(声明,赋值)
- 上面两句话并不是绝对的
- Tips:
-
一个函数的函数名即是该函数的代表,也是一个变量。由于函数名变量通常用来把函数的处理结果数据返回给调用函数,即递归调用,所以一般把函数名变量称为返回值,函数的返回值类型是在定义函数时指定的。
也就是说,只有函数有返回值,他的返回值就是他的值。 -
函数可以有返回值,也可以没有返回值。
(1)没有返回值的函数:功能只是完成一个操作,应将返回值类型定义为void,函数体内可没有return语句。
(2)有返回值的函数:函数的最后会有一个返回值return,可以用来获取该函数执行结果返回给该函数,让外部调用该函数的。
2 .标识符的规则
- 规则
- 第一个字符,可以是Unicode字母或者$ _ 中文
- 后面的字符,除了以上还可以有数字
不可以使用保留字!
要有意义 语义!!!!!!! JavaScript 语言的标识符对大小写敏感,所以a和A是两个不同的标识符。
- 一些正确的标识符
1
————45 //最好不要用多于2个作为变量名,因为。。你来给我数数45前面有几个--
学号
$abs
abd
3 语法
- while
a = 0.1;
while (a !== 1){
console.log(a)
a = a + 1
}
// 0.2
// 0.3
// ...
// 0.7
// 0.799999999999
// 0.899999999999
// 0.999999999999 //接近于1,但是不等于1。
- for
var text = "";
var i;
for (i = 0; i < 5; i++) {
text += i + "<br>";
}
//0
//1
//2
//3
//4
一个for变态题目:
for(var i=0;i<5;i++){
setTimeout(
(i)=>console.log(i),0
)
}
//5
//5
//5
//5
//5
由于 setTimeout 是过一段时间打印,所以待打印时调取的 i 的值已经为 5 了。要想按照原有的形式进行打印只需要把 var 改成 let。
- label
JavaScript 语言允许,语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置,标签的格式如下。
就是给一个代码块起个名字。取名规范符合标识符规范就行,不一定是foo,语句部分可以是任意语句或者代码块
foo:{
console.log(1);
break foo;
console.log('本行不会输出')
}
console.log(2);
//1
//2
同样的
{
foo:1
}
问:上面的东西是什么
答:foo 是一个 label,它的语句就是一个 1 火狐知道 但是chorme还是把它优化成一个对象了
当
{
foo:1;
}
加上分号;的时候 chorme就把这个foo认为是一个label了,并非对象。
若要声明对象:
var a = { foo : 1 } ;
此时a就成了一个对象
网友评论