首页 > 编程语言 > 详细

JavaScript函数定义

时间:2019-02-27 19:29:41      阅读:145      评论:0      收藏:0      [点我收藏+]

JavaScript 函数定义

使用关键字 function 定义函数。

函数声明定义

function  函数名(参数){

  代码块

}

函数声明后不会立即执行,会在我们需要的时候调用到

函数表达式定义

函数可以储存在变量中 (函数是一个匿名函数,储存在变量中,不需要函数名,通过变量名调用)

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

  代码块

}

函数表达式存储在变量后,变量也可以作为函数使用:

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 ();

 

JavaScript函数定义

原文:https://www.cnblogs.com/tutuai/p/10445892.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!