JS从0开始——第二天笔记

条件语句(三种)

if……else……

逻辑运算符

  • &&:并且,同时满足
  • ||:或,只要满足其中一个

三元运算符

条件?条件成立时执行的语句:条件不成立时执行的语句

switch case:绝对比较

从上而下依次进行比较,而且进行的是绝对比较

var num=10;
switch (num){
  case "10":
     console.log(1);
     break;//停止,不让语句继续向下判断
   case 10:
   case "10px"://满足两条语句其中一个时就执行
     console.log(2);
     break;
  ……
  default://上边都不成立时执行此处的语句
     console.log(n)
}

循环语句(三种)

for循环(四步曲)

  1. 定义变量i;
  2. 判断条件是否成立;
  3. 执行循环体;
  4. 执行i++。
    执行过程1->2->3->4->2->3->4->2……
for(var i=0;i<n;i++)
    //循环体
}
//JS是单线程的,同一时间,只能做一件事。

continue:停止本轮循环,循环体中下面的代码不再执行。
break:终止整个循环。

for……in…… 循环

对象没有length属性,所以用for……in……循环

var obj={}
for(var key in obj){    
   console.log(obj[key]);
   break;//终止循环
}
// key:代表属性名,而且是个字符串
// obj[key] 代表属性名的属性值
// 属性名是数字的先输出;输出循环会根据属性名进行排序,从小到大依次输出;

while循环

改变while的条件一般在循环体中进行修改;
一般用于不知道循环多少次时;
while:阻塞主线程,让代码在此停留;

函数

定义函数
函数的定义:

  1. 首先会开辟一个十六进制的空间地址:堆内存;
  2. 函数体中的代码以字符串的形式存储到堆内存中;
  3. 把这个空间地址赋值给函数名。

sum实际就存储一个空间地址

执行函数
作用域:是提供代码运行环境的;

  1. 首先形成一个私有的作用域;
  2. 形参赋值;
  3. 变量提升;
  4. 代码从上到下运行;
  5. 作用域是否销毁。

形参和实参

  • 形参:函数定义的小括号中传入的参数就是形参;
  • 实参:函数执行时的小括号中传入的参数就是实参;
  • 如果函数中只有形参,没有实参,那么函数中形参默认存储的值是undefined;

函数的arguments

  • 函数的实参集合,只能在函数体中使用;
  • 不是一个数组,是一个类数组;
  • 适用于参数较多的情况。
function sum(){
   var total=0;
      for(var i=0;i<arguments.length;i++){
          var cur=Number(arguments[i]);//转为换数字
          if(!isNaN(cur)){ //检验是否是有效数字
               total+=cur;
           }
      }
      return total;//return返回的不是total这个私有变量,实际上是total之前储存的值。
}
//只要函数执行,就会有一个返回值,函数的返回值是return出来的值
var s=sum(1,1,5,554,22,"16px","10"...)
console.log(s)

return:函数的出口

  1. 把函数体内部的值return到函数体外面。
  2. return终止函数的执行,return下面的代码都不执行。
  3. return返回什么值,就是怎么值。如果没有return出内容,或者函数中没有return,那么函数默认都返回undefined。

函数的知识很多,说好理解它好理解,说它不好理解,它也不好理解,所以要自己多斟酌。比如return吧,看着简单,但是理解起来需要下一番功夫,还有其他函数,比如匿名函数,自运行函数等等

posted @ 2018-12-12 19:25  Hero行者  阅读(255)  评论(0编辑  收藏  举报