`
lg_asus
  • 浏览: 190750 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

js函数声明与函数表达式

阅读更多
function a(){}这种叫函数声明, function(){},var fn=function(){},var fn=function a(){}这种是函数表达式,var fn=function a(){}中的a相当于一个函数局部变量,只能在这个函数内部使用,如var fn = function fib(n){if(n<=1){return 1}else{return fib(n-2)+fib(n-1)}}, 在函数外部只能使用fn不能使用fib。

函数声明会被js引擎提前(hoist),因此函数调用可以写在声明前面,如fn();function fn(){}正常执行,而fn();var fn=function(){}错误。函数表达式只有在解释器执行到那一行时才进行解释。

函数声明可以转变为表达式,如上面的var fn=function a(){}即被转变为表达式,同时样~ + - !和&&,()等运算符也可以。经常见到js代码中!function a(){}(),+function a(){}(), (function a(){})(), (function a(){})()。function a(){}()这种写法是非法的,前面像是函数声明,后面()是执行函数,把函数声明转变为函数表达式就可以了。

函数没有return默认返回undefined,在函数前面加!是把函数声明转变为表达式来执行,执行后这个函数消失,同时!function fn(){}()结果是true。

在js代码首行前面加;,因为js可以用空行来分隔代码(正常情况下应该用分号),在js被压缩时,空行会被删掉,因此你的js首行前面加;是为了防止压缩js代码和你的代码之间没有;而报错。
分享到:
评论

相关推荐

    函数声明与函数表达式1

    总结来说,函数声明和函数表达式在JavaScript中有着不同的行为和用法。理解这两者的区别对于编写可预测且无bug的代码至关重要。在实际开发中,应根据需求选择合适的函数定义方式,例如,如果你需要在函数声明之前...

    浅析函数声明和函数表达式-函数声明的声明提前_.docx

    【函数声明与函数表达式】在JavaScript中,函数是第一类对象,这意味着它们可以作为值进行传递和存储。本文将重点讨论两种常见的函数定义方式:函数声明和函数表达式,特别是函数声明的声明提前(Hoisting)现象。 ...

    揭秘命名函数表达式

    在JavaScript的世界里,创建函数的两大方式——**函数表达式**与**函数声明**——构成了语言的核心部分,两者之间微妙的差异往往决定了代码的行为模式与性能表现。 ##### 函数声明: 函数声明是一种明确定义函数的...

    javascript 函数声明与函数表达式的区别介绍

    在JavaScript编程中,函数声明与函数表达式是两种不同定义函数的方式,它们在使用场景和作用机制上存在明显的区别。为了更好地理解这两种定义方式,让我们深入探讨它们的定义、区别以及各自的特点。 首先,函数声明...

    浅谈javascript 函数表达式和函数声明的区别

    javascript中声明函数的方法有两种:函数声明式和函数表达式. 区别如下: 1).以函数声明的方法定义的函数,函数名是必须的,而函数表达式的函数名是可选的. 2).以函数声明的方法定义的函数,函数可以在函数声明之前调用,...

    JS 有名函数表达式全面解析

    ### JS 有名函数表达式全面解析 #### 一、引言 JavaScript 作为一种广泛应用的脚本语言,在前端开发中占据着举足轻重的地位。在 JavaScript 中,函数是一等公民,这意味着函数不仅可以作为参数传递给其他函数,还...

    JavaScript中函数表达式和函数声明及函数声明与函数表达式的不同

    在ECMAScript中,创建函数的最常用的两个方法是函数表达式和函数声明,两者期间的区别是有点晕,因为ECMA规范只明确了一点:函数声明必须带有标示符(Identifier)(就是大家常说的函数名称),而函数表达式则可以...

    JavaScript基础篇(6)之函数表达式闭包

    #### 一、函数表达式与函数声明 JavaScript中定义函数主要分为函数声明和函数表达式两种形式。函数声明一般会使用`function`关键字直接声明一个函数,如`function fn() {}`,而函数表达式则通常将函数作为赋值...

    浅析javascript中函数声明和函数表达式的区别

    JavaScript是Web开发中不可或缺的一部分,它提供了两种声明函数的方式:函数声明式和函数表达式。这两者虽然看似相似,但存在显著的区别。 1. **函数声明式**:这是JavaScript中最直接的函数定义方式,通常以`...

    js中函数声明与函数表达式

    总结来说,理解JavaScript中的函数声明和函数表达式之间的差异是至关重要的,因为这会影响到代码的执行顺序和可访问性,从而可能引发预期外的错误。在编写JavaScript代码时,应根据具体需求选择合适的函数定义方式,...

    全面了解函数声明与函数表达式、变量提升

    了解函数声明与函数表达式以及变量提升对于编写清晰、无误的JavaScript代码至关重要。 首先,我们来探讨函数声明与函数表达式的差异。函数声明,如`function foo(){};`,是一种直接定义函数的方式,这种声明在代码...

    JS 函数的三种声明方式

    本篇文章将深入探讨JS函数的三种声明方式:函数声明、函数表达式以及箭头函数。 1. **函数声明** 函数声明是最常见的方式,它以`function`关键字开头,后跟函数名,然后是参数列表,最后是函数体。例如: ```...

    JavaScript中的函数声明和函数表达式区别浅析

    当初只知道两种声明方式一个是函数声明一个是函数表达式,具体有什么不同没能说得很好。最近正好看到这方面的书籍,就想好好总结一番。  在ECMAScript中,有两个最常用的创建函数对象的方法,即使用函数表达式或者...

    Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式

    函数声明 function foo() {} 函数 foo 将会在整个程序执行前被 ...对于函数声明,函数的名称是必须的,而对于函数表达式而言则是可选的,因此,就出现了匿名函数表达式和命名函数表达式。如下: 函数声明: function fu

    Javascript中的函数声明与函数表达式(奇技淫巧)

    在阐述为什么之前,让我们先来明确Javascript中的两个概念:函数声明和函数表达式: 先来看看什么样的是函数声明: [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 再来看看什么样的是函数表达式: [Ctrl+A ...

    javascript函数声明和函数表达式区别分析

    在JavaScript中,函数的声明方式主要有两种:函数声明(Function Declaration)和函数表达式(Function Expression)。尽管它们在表面上看起来相似,但它们之间存在着本质的区别。下面将详细地对这两者的概念和区别...

    jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】

    与函数声明不同,函数表达式是将函数作为值赋给变量。这种方式不会导致函数提升,因此必须确保函数在被引用前已被定义。以下是一个使用函数表达式的示例: ```javascript $(document).ready(function() { var show...

Global site tag (gtag.js) - Google Analytics