写在前面
- 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);