功能



几点:

一)。函数是Javascript中的一级公民(重要性)

B)。函数是一个对象

C)。函数定义了一个独立变量范围。



定义模式



a)命名函数:

命名函数是全局的,除非它定义在另一个函数中。


全局命名函数
函数添加(x,y){
返回x y;
}
Console.info(加(100, 200)); / / 300




B)匿名函数:

匿名函数通常赋给变量,然后由变量调用。


函数(x,y){
返回x y;
}
Console.info(func(5, 2)); / / 7



匿名函数应用于下列立即执行的匿名函数。


Console.info(
函数(x,y){
返回x y;
(100, 200)立即调用
);



(c)定义影响代码执行效果的方式

可以首先使用命名函数并重新定义。


Console.info(和(10, 10));
函数sum(num1,num2){
返回num1 + num2;
}



必须首先定义匿名函数,然后使用


/ / console.info(sumfunc(10, 10)); / /未捕获的错误类型:property'sumfunc'of对象{对象}不
无功sumfunc =功能(num1,num2){
返回num1 + num2;
};
Console.info(sumfunc(10, 10));





函数返回值:



返回值是以返回方式生成的。如果没有返回,则函数返回未定义。


函数(){
}
Console.info(func()); / /未定义
函数func2(){
返回;空/返回语句
}
Console.info(func2()); / /未定义




回藏在坑:


函数(x,y){
变量总和;
返回{
和值:
}
}




在写这没有问题:调用函数(5,5)返回对象的值:{ 10 }

然而:


函数(x,y){
变量总和;
返回
{
和值:
};
}
Console.info (func (5,5)); //undefined




在返回线后面返回,

调用函数(5,5)显示未定义

编辑帮助我们在返回后添加分号;然而,这种情况下没有鸡蛋。



函数是一个对象:


函数添加(x,y){
返回x y;
}
Console.info(加(100, 200)); / / 300
var其他=添加;其他和添加引用相同的函数对象
Console.info(其他(300, 400)); / / 700
Console.info(typeof等); / /功能
Console.info(add =其他); / /真的




嵌套函数:



在函数中,可以定义另一个函数。


功能outerfunc(A,B){
功能innerfunc(x){
返回x×x;
}
返回Math.sqrt(innerfunc(一)+ innerfunc(B));
}
Console.info(outerfunc(3, 4)); / / 5




访问外部变量:



内部函数可以访问外部变量和参数。


无功globalstr = 'globalstr;
功能outerfunc2(参数){
var = 100次的局部变量递增;
功能innerfunc2(){
次的局部变量递增+ +;
Console.info(讲解+:+次的局部变量递增+:+ globalstr);
}
innerfunc2(); / /你好:101:globalstr
}
outerfunc2(你好);




返回函数的函数:



因为函数是一个对象,所以它可以用作返回值。


功能outerfunc(x){
var=100;
返回函数innerfunc(){
Console.info(x + y);
}
}
outerfunc(10)(); / / 110



以上是本文的全部内容,希望大家能喜欢。