写在前面

  • for循环(这里只说最简单的,之后的文章会补充详细内容)
  • 函数(这里只说最简单的,之后的文章会补充详细内容)
    • 形参/实参/返回值/作用域
    • 匿名值

2.1.8 循环

重复做某些事情就是循环

  • for循环

    for(var i=0;i<10;i++){}
  • for in循环

for in 循环

for(var 变量(key) in 对象)

循环遍历,优先循环数字属性名(从小到大)

let obj ={
    name:"xxx",
    null:1,
    2:"111",
    1:'121'
}
for (var key in obj){
    //key变量存储的当前对象属性名
    console.log(key,obj[key]);
}
  • for of循环 (ES6)

  • while循环

  • do while循环

2.1.9 函数

函数就是一个方法/功能体---“封装"(低耦合高内聚)

形参:函数入口

实参:执行时放入具体东西

返回值:函数出口

  • 创建函数
    • 形参
    • 返回值
  • 执行函数
    • 实参
  • arguments
  • 函数底层运行机制
  • ...

1 创建函数

function [name]([形参1],...){
    //函数体
    return [result];
}
//执行
[函数名](实参,...)

1、创建函数的时候我们设置了形参变量,但如果执行的时候并没有给传递对应的实参值,那么形参变量默认的值是:undefined

function sum(n,m){
    //形参默认值处理,必须要用绝对相等,因为只用==的话,无法判别null(number(null)=undefined)
    if(n === undefined){
        n=0;
    }
    //第二种(习惯性)
    if (typeof m == 'undefined'){
        m=0;
    }
}

2、函数执行的时候,函数内部创建的变量值我们无法获取和操作的,如果要想获取内部的信息,我们需要基于return返回机制,把信息返回才可以

function sum(n,m){
    let result = n+m;
    //return的是数值,把result的变量储存值返回
    //没有return,返回值是undefined
    //return result;
}
sum(10,20);
console.log(result);//VM137:5 Uncaught ReferenceError: result is not defined

function sum(n,m){
    if(n === undefined|| m=== undefined){
       return;
       }
    let result =n+m;
}

3、匿名函数

匿名函数之函数表达式:把一个匿名函数本身作为值赋值给其他东西,这种函数一般不是手动触发,而是靠其他程序取法出动执行(如:触发某个事件的时候把它执行)

document.body.onclick=function(){}

//定时器
setTimeout(function(){},1000);

//自执行函数:创建完一个匿名函数,紧接着把当前函数加个小括号,立刻执行
(function(n){
    //=>n=100
})(100);