引用类型函数类型

  

,,,,

<人力资源/>

,

定义函数的三种方式:

1,函数声明

 function 和(num1, num2) {,,,,,,,,,,, return  num1  + num2;
  ,,,,,,,}

2,函数表达式

 var  sum =,函数(num1, num2) {,,,,,,,,,,, return  num1  +, num2;
  ,,,,,,,}

3,函数构造函数(不推荐)
//最后一个参数始终都被认作函数体,会导致解析两次代码

 var  sum =new 功能(“num1”、“num2”、“return  num1  +, num2”); 

<强>注意:函数名仅仅是指向函数的指针,因此函数名与其他包含对象的指针没有设么区别

,

引用类型函数类型

 function 和(num1, num2) {,,,,,,,,,,, return  num1  +, num2;
  ,,,,,,,}
  alert(和(10,10));,//20 var  another =,总和;
  警报(另一个(10,10));,//20 sum =,空;
  警报(另一个(10,10));,//20笔和另一个都指向同一个函数,所以讲和设置为零并不影响另一个

引用类型函数类型

,

<强>注意:使用不带圆括号的函数名是访问函数指针,并不是调用函数

,

<人力资源/>

,

将函数名理解为指针有利于理解为什么没有重载

,

引用类型函数类型

 function  addSomeNumber (num) {,,,,,,,,,,, return  num  +, 100;
  ,,,,,,,}function  addSomeNumber (num) {,,,,,,,,,,, return  num  +, 200;
  ,,,,,,,}
  alert (addSomeNumber (100));,//300 

引用类型函数类型

,

第二个函数将addSomeNumber指向新的函数

,

<强>

,

<人力资源/>

,

,

解析器在向执行环境中加载数据时,对函数声明和函数表达式不是一时同仁。解析器会率先读取函数声明,并使其在执新行任何代码之前可用。对于函数表达式,则必须等到执行到它所在的代码行,才会真正被解析。

<>之前警告(sum (10.10));,//20 function 和(num1, num2) {,,,,,,,,,,, return  num1  + num2;   ,,,,,,,}

在代码执行环境之前,解析器会通过一个名为函数声明提升的过程,读取并将函数声明添加到执行环境当中。对代码求值时,JavaScript引擎在第一遍会声明函数并将它们放到源代码树的顶部

<>之前警告(sum (10,10));,, sum =, (num1, num2) {,,,,,,,,,,,, num1  +, num2;   ,,,,,,,}

,

<强>

,

<人力资源/>

,

可以像传递参数一样把一个函数传递给另一个函数,也可以将一个函数作为另一个函数的结果返回。

,

引用类型函数类型

 function  callSomeFunction (someFunction someArugment) {,,,,,,,,,,, return  someFunction (someArugment);
  ,,,,,,,}function  add10 (num) {,,,,,,,,,,, return  num  +, 10;
  ,,,,,,,}var  result =, callSomeFunction (add10 10);
  警报(结果);//20 

引用类型函数类型

,

可以从一个函数中返回另一个函数

引用类型函数类型

 function  createComparisonFunction (propertyName) {,,,,,,,,,,, return 函数(中的object1 object2) {,,,,,,,,,,,,,,, var  values1 =,中的object1 [propertyName];,,,,,,,,,,,,,,,, var  values2 =, object2 [propertyName];,,,,,,,,,,,,,,,,如果(values1 values2),,,,,,,,,,,,,,,,,,,, return  1;,,,,,,,,,,,,,,,,
  ,,,,,,,,,,,,,,,,,,,return  0;
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null

引用类型函数类型