PINK:函数,对象伪数组
1.定义
2.声明函数
3.调用函数
4.argument
定义
1.函数:封装条件语句和循环
2.一个函数一般一个功能:输入功能,计算功能,输出功能
3.函数命名一般为动词:set,get
4.函数的数据类型:type of 函数名=function
5.分号加不加和赋值有关和花括号没关(pink没说)
声明函数
1.声明函数种类
2.函数的公式
3.参数
4.函数体
5.返回值
1.声明函数种类
(1)命名函数
(2)匿名函数:把一个函数给一个变量赋值就是函数表达式/匿名函数
(3)函数的自调用:( 匿名函数 )( 参数 );一次性,赋值直接调用
2.函数的公式
命名函数:function 函数名字( ){ 函数体 }
匿名函数:var 函数表达式=function( ){ }
3.参数
1.行参
(1)函数在定义时,括号内的参数
(2)行参直接用,不用var声明,自带var声明
(3)在不同的函数内,相同的行参没有影响(函数的行参是局部变量,局部作用域)
(4)未被实参传值的行参为undefined2.实参
(1)函数调用时,小括号里传入的值3.行参与实参之间的关系
(1)实参数量>行参数量:实参多余行参的部分不参与函数计算,但是可以被argument获取到
(2)实参数量<行参数量:undefined类型和其他类型计算是NAN
(3)命名关系:实参用变量时,行参与实参变量名可以一致,也可以不一致4.函数可以作为参数使用
5.多个参数之间用逗号隔开
4.函数体
(空)
5.返回值
1.函数有返回值时
(1)函数调用执行函数内代码
(2)函数调用=函数返回值
2.函数没有返回值时
(1)函数调用执行函数内代码
(2)函数调用=undefined
3.只执行第一个return
(1)函数中return下面代码不执行
4.return可以直接加公式,返回值为公式运算结果
5.一个函数只能有一个返回值
(1)bug:如果写多个返回值用逗号隔开,会return最后面的返回值
(2)多个返回值时用数组解决问题
6.return后面不用冒号,直接空格加公式
7.函数可以作为返回值使用
调用函数
1.函数不调用:函数内部代码不执行
2.函数调用
(1)运行函数代码:在函数原位置运行函数代码
(2)函数调用被赋值:函数调用=函数返回值(只看return跟其他无关,没有return为undefined)
3.函数可以调用另一个函数
4.代码
(1)命名:函数名( );
(2)匿名:变量名( );
(3)命名代码:函数名
(4)匿名代码:变量名
argument
用处:获取实参
1.伪数组,没有标准数组方法
2.具有长度属性:arguments . length
3.具有索引;
4.arguments是一个函数的内置对象
5.和行参没关系;经验:有argument,可以不用写行参数
函数自调用:不需要调用自己立马执行的函数
1.( 匿名函数 )( 参数 );
2.( 匿名函数( 参数 ) );
(1)多个函数自调用的时候必须用分号隔开
(2)好处:独立建立一个作用域
(3)一般嵌入式js文件把所有的代码全放进函数自调用中,就不会有变量冲突情况