函数声明与表达式

将脚本编写为函数可避免页面载入时直接执行该脚本

函数中有代码,这些代码只能被事件激活或在函数运行时才会执行

变量声明

函数中声明的变量,叫做局部变量,该变量只能在函数中访问,退出函数后该变量就会被撤销;这意味着我们可以在不同的函数中声明名称相同的变量

函数声明

这种方法会在执行前被解析,它可以存在于该函数运行代码的前后任意位置。代码如下所示

function fun ()
{
	...
};
fun();

fun();
function fun ()
{
	...
};

运行结果都为正常

函数赋值表达式

这种方法是把匿名函数赋值给变量,因为赋值语句只在运行时执行,完成对该变量的解析,所以它必须存在于该函数运行代码之前。先看如下代码所示

var fun = function ()
{
	...
};
fun();

运行结果为正常;在赋值语句之前,该变量的值都缺省为undefined。代码如下所示

fun();
var fun = function ()
{
	...
};

运行结果为TypeError: fun is not a function

函数是JavaScript语言中的一等对象,可以像其它值一样被传递,如把匿名函数作为回调函数传递到异步函数中
时间: 2024-10-11 10:16:15

函数声明与表达式的相关文章

JavaScript学习总结(三、函数声明和表达式、this、闭包和引用、arguments对象、函数间传递参数)

一.函数声明和表达式 函数声明: function test() {}; test();    //运行正常 function test() {}; 函数表达式: var test = function() {}; test;    //undefined test();   //TypeError var test = function() {}; 命名函数的赋值表达式: var test = function bar() { test();    //正常运行 }; test();    /

js中函数声明与表达式

//函数声明:function 函数名(){} //函数表达式: function 函数名(可写可不写的)(){}  : 命名函数表达式 匿名函数表达式 //function aaa(){} : 函数声明 //var a = function aaa(){} : 命名函数表达式 //var a = function(){}  : 匿名函数表达式 (function aaa(){}) : 表达式 ~function aaa(){} -function aaa(){} +function aaa()

函数:声明和表达式

函数:声明和表达式 函数,像变量一样,可以在代码的任意地方定义它. JS 提供了几个方法去定义它们. 1.函数声明     (Function Declaration) 2.函数表达式  (Function Expression) 3.通过调用new Function 返回. 语法 创建一个函数的基本方法是通过一个函数声明.语法如下: function f(arg1, arg2, ...) {    ... code ... } 实现起来像这样子: 1 function sayHi(name)

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

记得在面试腾讯实习生的时候,面试官问了我这样一道问题. //下述两种声明方式有什么不同 function foo(){}; var bar = function foo(){}; 当初只知道两种声明方式一个是函数声明一个是函数表达式,具体有什么不同没能说得很好.最近正好看到这方面的书籍,就想好好总结一番. 在ECMAScript中,有两个最常用的创建函数对象的方法,即使用函数表达式或者使用函数声明.对此,ECMAScript规范明确了一点,即是,即函数声明 必须始终带有一个标识符(Identif

js函数表达式和函数声明的区别

我们已经知道,在任意代码片段外部添加包装函数,可以将内部的变量和函数定义"隐 藏"起来,外部作用域无法访问包装函数内部的任何内容. 例如: var a = 2; function foo() { // <-- 添加这一行 var a = 3; console.log( a ); // 3 } // <-- 以及这一行 foo(); // <-- 以及这一行 console.log( a ); // 2 虽然这种技术可以解决一些问题,但是它并不理想,因为会导致一些额外的

JS中函数表达式与函数声明的区别

hello,沐晴又来更新啦,今天呢,跟大家讲讲让人头疼的函数表达式和函数声明,反正我当初看那本高级程序的时候,是没怎么看太透,哈哈.我是个比较重基础的人,跟我一起探讨函数表达式和函数声明的世界吧. 首先呢,先看看他们的颜值:   函数声明:function 函数名(){}   函数表达式:function 函数名(可写可不写)(){}; (不写名叫做匿名函数表达式.写名叫做命名函数表达式.推荐用匿名的.) 这么一看长的好像没啥区别,反正颜值也都不高.那么我们如何区别是函数表达式还是函数声明呢?答

声明和表达式区别

函数:声明和表达式 函数,像变量一样,可以在代码的任意地方定义它. JS 提供了几个方法去定义它们. 1.函数声明     (Function Declaration) 2.函数表达式  (Function Expression) 3.通过调用new Function 返回. 语法 创建一个函数的基本方法是通过一个函数声明.语法如下: function f(arg1, arg2, ...) {    ... code ... } 实现起来像这样子: 1 function sayHi(name)

javascript 函数声明和函数表达式的区别(学习笔记)

javascript中声明函数的方法有两种:函数声明式和函数表达式. 区别如下: 1).以函数声明的方法定义的函数,函数名是必须的,而函数表达式的函数名是可选的. 2).以函数声明的方法定义的函数,函数可以在函数声明之前调用,而函数表达式的函数只能在声明之后调用. 3).以函数声明的方法定义的函数并不是真正的声明,它们仅仅可以出现在全局中,或者嵌套在其他的函数中,但是它们不能出现在循环,条件或者try/catch/finally中,而 函数表达式可以在任何地方声明. 下面分别用两种方法定义函数:

函数声明与函数表达式的区别

1.函数声明 函数声明以function关键字开头,接着是必须的函数(变量)名和以逗号分隔的可选的参数列表,再接着就是以大括号封装的函数体.函数声明必须是一个单独的JavaScript语句. 2.函数表达式 在任何情况下都是其它JavaScript语句的一部分(比如复制表达式等号的右侧.函数的参数)的函数被称为函数表达式. 3.比较 //函数声明function myFunctionDeclaration(){ function innerFunction() {} } //以下为函数表达式 v