函数

作者: 山猪打不过家猪 | 来源:发表于2020-01-13 16:28 被阅读0次

函数声明

1.函数体

function test(){
    pass;
}
test();

2.命名函数表达式

var  test= function abc(){
    pass
}
test();

该种方式忽略的了函数的 名字 abc,所以执行的时候使用test();

3.匿名函数表达式

var test = function(){
    pass
}
test();

传参

function test(a){
    console.log(arguments);
}

test(11,2,3);

chrome中显示为:


image.png

答应arguments里面得值


function test(a){
    
    for (var i =0; i<arguments.length;i++){  //形参长度
        console.log(i);
    }
    console.log(test.length);  //形参长度
}

test(11,2,3)

其中,arguments.length代表实参长度,如果要知道新参长度 test.length就是形参长度

不固定形参的好处

任意数字求和

function sum(){
    var result = 0; 
    for (var i =0; i<arguments.length;i++){  
        result += arguments[i];

    }
    console.log(result);  
}

sum(11,2,3);
>>>
16

注:实参决定了arguments的映射关系

函数的终止和结束

return

function myNumber(a){
       return +a
}
var myNumber= myNumber('123');
console.log(myNumber);
console.log(typeof(myNumber));

>>>
123
number

作用域

1.任何变量未经声明直接赋值,归window所有

function test(){
    var a = b = 123;
}

test()

console.log(window.b);
console.log(window.a);

>>>
123
undefined

2.一切声明的全局变量,全是window的属性

function test(){
    var a =123;
}
test();
console.log(window.a);
>>>
undefined

a不是全局变量,是test函数的局部变量

3.window就是全局

var a = 123;
console.log(a);=== console.log(window.a)

4.预编译发生在函数执行的前一刻

function fn(a){
    console.log(a);
    var a = 123;
    console.log(a);
    function a(){}
    console.log(a);
    var b = function(){}
    console.log(b);
    function d(){}
}
fn(1);

>>>
ƒ a(){}
123
123
ƒ (){}

过程:
①创建AO(Activation Object )对象(执行期上下文)

AO{

}

②找形参和变量声明,将变量和形参名作为AO属性名,值为undefined

AO{
      a: undefined,
      b: undefined,
}

③将实参值和形参统一

AO{
      a: 1,
      b: undefined,
}

④找函数体里面的函数声明,值赋予函数体

AO{
      a:  function a(){},
      b: undefined,
      d:  function d(){}
}

相关文章

  • Excel(三)

    AND函数 OR函数 NOT函数 IF函数 频率分析函数FREQUENCY

  • if、else if、for、while、repeat函数

    ①if函数 ②else if函数 ③for函数 ④while函数 ⑤repeat函数

  • strsplit、mapply、paste、match函数

    strsplit函数 mapply函数 strsplit函数 mapply函数 paste函数 match函数 第...

  • Oracle中常用函数(SQL)

    Oracle函授有以下几个分类:数字函数、字符函数、日期函数、转换函数、集合函数、分析函数 数字函数: 字符函数:...

  • MySQL函数

    字符函数 数字运算函数 比较运算符和函数 日期时间函数 信息函数 聚合函数 加密函数 流程函数

  • BI-SQL丨AND & OR & IN

    AND函数 & OR函数 & IN函数 AND函数、OR函数和IN函数都可以理解是WHERE函数的补充,当然也可以...

  • Python之函数

    课程大纲 函数定义 函数的参数 函数的返回值 高阶函数 函数作用域 递归函数 匿名函数 内置函数 函数式编程 将函...

  • 函数基本知识

    函数 函数的定义: def 函数名() 函数的调用:函数名() #不能将函数调用放在函数定义上方 函数的文档注...

  • 积分表——不定期更新

    基本初等函数包括: 常函数: 幂函数 指数函数 对数函数 三角函数 反三角函数 I、反函数Ⅱ、复合函数:初等函数(...

  • MySQL基本使用

    函数 常用函数 数学函数 字符串函数 日期函数

网友评论

      本文标题:函数

      本文链接:https://www.haomeiwen.com/subject/biggactx.html