JS-表达式,语句和label

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

console.log(2)
  • 二者区别
    • 表达式一般都有值,语句可能有可能么有
    • 语句一般会改变环境(声明,赋值)
    • 上面两句话并不是绝对的
  • Tips:
  1. 一个函数的函数名即是该函数的代表,也是一个变量。由于函数名变量通常用来把函数的处理结果数据返回给调用函数,即递归调用,所以一般把函数名变量称为返回值,函数的返回值类型是在定义函数时指定的。
    也就是说,只有函数有返回值,他的返回值就是他的值。

  2. 函数可以有返回值,也可以没有返回值。
    (1)没有返回值的函数:功能只是完成一个操作,应将返回值类型定义为void,函数体内可没有return语句。
    (2)有返回值的函数:函数的最后会有一个返回值return,可以用来获取该函数执行结果返回给该函数,让外部调用该函数的。

2 .标识符的规则

  • 规则
    1. 第一个字符,可以是Unicode字母或者$ _ 中文
    2. 后面的字符,除了以上还可以有数字
      不可以使用保留字!
      要有意义 语义!!!!!!! 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 + "
"; } //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就成了一个对象

你可能感兴趣的:(JS-表达式,语句和label)