JavaScript函数定义

JavaScript 函数定义

使用关键字 function 定义函数。函数

函数声明定义spa

function  函数名(参数){对象

  代码块ip

}作用域

函数声明后不会当即执行,会在咱们须要的时候调用到字符串

函数表达式定义get

函数能够储存在变量中 (函数是一个匿名函数,储存在变量中,不须要函数名,经过变量名调用)io

var  变量名 = function ( 参数,参数){function

  代码块class

}

函数表达式存储在变量后,变量也能够做为函数使用:

var  变量名x = function (参数,参数){return a* b};

var  z =x(4*3) ;

以分号结尾,由于是一个执行语句。

经过内置的 JavaScript 函数构造器(Function())定义。

Function() 构造函数

var  a = new  Function()(“a”,“b” “return a*b”);

var  x = a (4,3);

在JavaScript中避免使用new关键字

不用构造函数,上例能够写成:

var a = function (a,b){ return a*b}

var x = a (4,3);

 

函数提高:

提高(Hoisting)应用在变量的声明与函数的声明。变量的声明(注意不包含变量初始化)会被提高(置顶)到声明所在的上下文。可是变量初始化的顺序不变。

所以函数能够在声明以前调用。

可是使用函数表达式定义的没法提高!

总结 :
  Javascript 中函数声明和函数表达式是存在区别的,函数声明在JS解析时进行函数提高,所以在同一个做用域内,无论函数声明在哪里定义,该函数均可以进行调用。
  而函数表达式的值是在JS运行时肯定,而且在表达式赋值完成后,该函数才能调用。这个微小的区别,可能会致使JS代码出现意想不到的bug。

自调用函数:

函数表达式能够 "自调用"。若是表达式后面紧跟 () ,则会自动调用。不能自调用声明的函数。经过添加括号,来讲明它是一个函数表达式: 是匿名自我调用的函数 (没有函数名)。

(function (){函数体})();

函数可做为一个值使用:

function a(){return a*b}

var x = a(3,4);

函数可做为一个表达式使用:

 

function a(){return a*b}

var x = a(3,4)-1;

函数是对象

在 JavaScript 中使用 typeof 操做符判断函数类型将返回 "function" 。  但JavaScript 函数描述为一个对象更加准确。   JavaScript 函数有 属性 和 方法。  

arguments.length 属性返回函数调用过程接收到的参数个数:

function a (d,s){ return  arguments.length }              document.getElementById("id").innerHTML = myFunction(4, 3);

toString() 方法将函数做为一个字符串返回:

function x (a,b){ return  a*b }              document.getElementById("id").innerHTML = myFunction(4, 3).toString ();

相关文章
相关标签/搜索