`
JavaSam
  • 浏览: 935043 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JS中函数定义与函数表达式的不同

 
阅读更多

Js中的函数声明是指下面的形式:

 

      

[javascript] view plaincopy
  1. function functionName(){  
  2.   
  3. }  

 

       这样的方式来声明一个函数,而函数表达式则是类似表达式那样来声明一个函数,如:

 

              

[javascript] view plaincopy
  1. var functionName = function(){  
  2. }  

 

       可能很多朋友在看到这两一种写法时会产生疑惑,这两种写法差不多,在应用中貌似也都是可行的,那他们有什么差别呢?

       事实上,js的解析器对函数声明与函数表达式并不是一视同仁地对待的。对于函数声明,js解 析器会优先读取,确保在所有代码执行之前声明已经被解析,而函数表达式,如同定义其它基本类型的变量一样,只在执行到某一句时也会对其进行解析,所以在实 际中,它们还是会有差异的,具体表现在,当使用函数声明的形式来定义函数时,可将调用方式在函数声明之后,而后者,这样做的话会报错

分享到:
评论

相关推荐

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

    即使在函数定义之前调用它也没问题。 foo(); // Works because foo was created before this code runs function foo() {} 因为我打算专门写篇介绍作用域的文章,所以这里就不详述了。 函数表达式 对于函数声明,...

    JS匿名函数、闭包

    匿名函数,也称为拉姆达函数,是一种使用JavaScript函数的强大方式。以下总结了匿名函数的特点: 任何函数表达式从技术上说都是匿名函数,因为没有引用它们的确定的方式; 在无法确定如何引用函数的情况下,递归...

    JavaScript函数表达式详解及实例

    JavaScript函数表达式 一、序  定义函数的方式有两种:一种是函数声明,另一种就是函数表达式;  1.1 函数声明 function functionName(arg){ //函数体 }  关于函数声明,它有一个重要特征就是函数声明提升,...

    javascript高级编程之函数表达式 递归和闭包函数

    定义函数表达式有两种方式:函数声明和函数表达式. 函数声明如下: function functionName(arg0,arg1,arg2){ //函数体 } 首先是function关键字,然后是函数的名字. FF,Safrai,Chrome和Opera都给函数定义了一个非标准...

    JS函数定义方式的区别介绍

    关于JS的函数定义方式有以下两种: (1)典型的函数声明 function slide(arguments){ //...code } (2)以函数表达式的形式定义函数 var slide = function(arguments){ //...code } 虽然上面两种方式逻辑上是...

    JavaScript 函数的定义-调用、注意事项

    函数定义 函数语句定义 ...如果函数定义表达式包含名称,函数的局部作用域将会包含一个绑定到函数对象的名称,实际上,函数的名称将成为函数内部的一个局部变量 函数命名规范 1.like_this()第一个字符为小

    javascript函数

    本章的重点是用户定义的JavaScript函数的定义和调用。另外还有一点比较重要,即JavaScript支持很多内部的函数,诸如类Array的方法eval()、parseInt()和sort()等。客户端JavaScript还定义了其他函数,如document....

    浅谈JS函数定义方式的区别

    关于JS的函数定义方式有以下两种: (1)典型的函数声明 function slide(arguments){ //...code } (2)以函数表达式的形式定义函数 var slide = function(arguments){ //...code } 虽然上面两种方式逻辑上是等价...

    深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解

    1、JavaScript中定义函数有2钟方法:  1-1.函数声明: 代码如下:function funcName(arg1,arg2,arg3){ //函数体} ①name属性:可读取函数名。非标准,浏览器支持:FF、Chrome、safari、Opera。 ②函数声明提升:指...

    JavaScript中的函数模式详解

    JavaScript设计模式的作用是提高代码的重用性,可读性,使代码更容易的维护和扩展 在javascript中,函数是一...为变量 add 赋的值是函数定义本身。这样,add 就成了一个函数,可以在任何地方调用。 函数的声明 代码如

    javascript中eval函数用法分析

    本文实例分析了javascript中eval函数用法。分享给大家供大家参考。具体分析如下: eval()只有一个参数,如果传入的参数不是字符串,则直接返回这个参数。否则会将字符串当成js代码进行编译,如果编译失败则...

    JAVASCRIPT闭包详解

    所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变 ...简单的描述就是 ECMAScript 允许使用内部函数--即函数定义和函数表达式位于另一个函数的函数体内

    正则表达式

    JavaScript的RegExp对象和String对象定义了使用正则表达式来执行强大的模式匹配和文本检索与替换函数的方法. 在JavaScript中,正则表达式是由一个RegExp对象表示的.当然,可以使用一个RegExp()构造函数来创建RegExp...

    JavaScript中闭包的写法和作用详解

    简单的说,Javascript允许使用内部函数—即函数定义和函数表达式位于另一个函数的函数体内。而且,这些内部函数可以访问它们所在的外部函数中声明的所有局部变量、参数和声明的其他内部函数。当其中一个这样的内部...

    C#利用lambda在函数中创建内部函数

    对于lambda表达式,是可以实现匿名函数定义和挂接委托事件的。具体的可参见该文C#利用lambda实现委托事件的挂接。  要实现函数内创建内部函数,至少有两种方式可以用。  第一种:Func<>.  第二种:...

    JavaScript权威指南(第6版)中文

    4.3 函数定义表达式 62 4.4 属性访问表达式 63 4.5 调用表达式 64 4.6 对象创建表达式 64 4.7 运算符概述 65 4.8 算术表达式 69 4.9 关系表达式 74 4.10 逻辑表达式 79 4.11 赋值表达式 81 4.12 ...

    JavaScript权威指南(第6版) 英文版

    4.3 函数定义表达式 62 4.4 属性访问表达式 63 4.5 调用表达式 64 4.6 对象创建表达式 64 4.7 运算符概述 65 4.8 算术表达式 69 4.9 关系表达式 74 4.10 逻辑表达式 79 4.11 赋值表达式 81 4.12 ...

    正则表达式经典实例

     在不同的编程语言和脚本语言中有效使用正则表达式;  学习如何对输入进行合法性检查和格式化;  处理单词、文本行、特殊字符和数值;  学习如何在URL、路径、标记语言和数据交换中使用正则  表达式;  ...

    正则表达式经典实例.pdf

     在不同的编程语言和脚本语言中有效使用正则表达式;  学习如何对输入进行合法性检查和格式化;  处理单词、文本行、特殊字符和数值;  学习如何在URL、路径、标记语言和数据交换中使用正则  表达式;  学习更...

Global site tag (gtag.js) - Google Analytics