ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

09.01、js之函数定义-变量提升&自调用函数&箭头函数

2021-04-02 13:59:49  阅读:236  来源: 互联网

标签:myFunction function return 函数 JavaScript 调用函数 js var


JavaScript 函数定义

1、函数声明

function functionName(parameters) {
   要执行的代码
}
实例
function myFunction(a, b) {
     return a * b;
}
  • 分号用于分隔可执行的 JavaScript 语句

2、函数表达式

JavaScript 函数也可以使用表达式来定义。

函数表达式可以在变量中存储:

实例
var x = function (a, b) {return a * b};

在变量中保存函数表达式之后,此变量可用作函数:

实例
var x = function (a, b) {return a * b};
var z = x(4, 3);    // 12

上面的函数实际上是一个匿名函数(没有名称的函数)。

存放在变量中的函数不需要函数名。他们总是使用变量名调用。

上面的函数使用分号结尾,因为它是可执行语句的一部分。

3、Function() 构造器

函数也可以通过名为 Function() 的内建 JavaScript 函数构造器来定义。

实例
var myFunction = new Function("a", "b", "return a * b");
var x = myFunction(4, 3);   // 12

写法2-常用

var myFunction = function (a, b) {return a * b};
var x = myFunction(4, 3);  //  12
  • 大多数情况下,您可以避免在 JavaScript 中使用 new 关键词。

4、函数提升

Hoisting(提升) 是 JavaScript 将声明移动到当前作用域顶端的默认行为。

正因如此,JavaScript 函数能够在声明之前被调用:

myFunction(5);

 function myFunction(y) {
     return y * y;
}
  • 使用表达式定义的函数不会被提升。

5、自调用函数

函数表达式会自动执行,假如表达式后面跟着 ()。

您无法对函数声明进行自调用。

您需要在函数周围添加括号,以指示它是一个函数表达式:

实例
var x = (function (x,y) {
   return x * y;;      //我会调用我自己
})(3,4);    //   12
  • 上面的函数实际上是一个匿名的自调用函数(没有名称的函数)。

6、函数可用作值

JavaScript 函数可被用作值:

实例
function myFunction(a, b) {
    return a * b;
}
var x = myFunction(4, 3);   //  12

JavaScript 函数可用在表达式中:

实例
function myFunction(a, b) {
    return a * b;
}

var x = myFunction(4, 3) * 2;   //   144

7、函数是对象

JavaScript 函数都有属性方法

arguments.length 会返回函数被调用时收到的参数数目:

var x = (function (x,y) {
   z=  x * y;    //  12
   return arguments.length;   //我会调用我自己    //  2
})(3,4);

toString() 方法以字符串返回函数:

function myFunction(a, b) {
    return a * b;
}

var txt = myFunction.toString();   

//  "function myFunction(a, b) {
//    return a * b;
//  }"

定义为对象属性的函数,被称为对象的方法。

为创建新对象而设计的函数,被称为对象构造函数(对象构造器)。

8、箭头函数

不需要 function 关键字、return 关键字和花括号。

实例
// ES5
var x = function(x, y) {
  return x * y;
}

// ES6
const x = (x, y) => x * y;
  • 没有自己的 this

  • 未被提升,必须在使用前进行定义

  • 使用 const 比使用 var 更安全,因为函数表达式始终是常量值。

注意:

如果函数是单个语句,则只能省略 return 关键字和大括号。因此,保留它们可能是一个好习惯:

实例
const x = (x, y) => { return x * y };
console.log(x(3,4))    //   12
  • IE11 或更早的版本不支持箭头函数。

标签:myFunction,function,return,函数,JavaScript,调用函数,js,var
来源: https://blog.csdn.net/weixin_44867717/article/details/115396738

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有