函数一 ----函数表达式

// 7.0函数表达式
// 本章内容
// 1.函数表达式的特征
// 2.使用函数实现递归
// 3.使用闭包定义私有变量
// 定义函数的方法有两种:一种是函数声明,一种是函数表达式。函数声明的语法如下:

function functionName(arg0,arg1,arg2){
// 函数体
}

// 首先是function关键字,然后是函数的名字,这就是指定函数名的方式,FF,Safari,Opera,Chrome
// 都给函数定义了一个非标准的name属性,通过这个属性可以访问到函数指定的名字。
// 这个属性的值永远跟在function后面的关键字后面的标识符
console.log(functionName.name); // functionName

// 关于函数声明,有一个重要特征就是函数声明提升,意思是在执行代码之前会先读取函数声明,这就意味着可以把函数声明放在调用他的语句后面

sayHi(); // hi
function sayHi(){
console.log("hi");
}
// 这个例子不会报错,因为在代码执行之前会先读取函数声明

// 第二种创建函数的方式是函数表达式,函数表达式有几种不同的形式,下面一种是最常见的一种函数表达式的形式
var functionName2=function(arg0,arg1,arg2){
// 函数体
}

// 这种语句看起来就像普通变量的赋值语句一样,即创建一个函数并把它赋给变量functionName2,这种方式叫做匿名函数
// 匿名函数的name属性是空字符串

// 函数表达式和其他表达式一样,使用之前必须先赋值,以下代码会报错

sayHello(); // sayHello is not a function
var sayHello=function(){
console.log("hello");
}

时间: 2025-01-10 17:44:40

函数一 ----函数表达式的相关文章

C# 匿名函数和Lambda 表达式

匿名函数是一个"内联"语句或表达式,可在需要委托类型的任何地方使用. 可以使用匿名函数来初始化命名委托,或传递命名委托(而不是命名委托类型)作为方法参数. 共有两种匿名函数,以下主题中分别讨论了这些函数: Lambda Expressions (C# Programming Guide). ' data-guid="7df86c4348dea57abb774138a7de05b8">Lambda 表达式(C# 编程指南) . 匿名方法(C# 编程指南) 说明

3 委托、匿名函数、lambda表达式

委托.匿名函数.lambda表达式 在 2.0 之前的 C# 版本中,声明委托的唯一方法是使用命名方法.C# 2.0 引入了匿名方法,而在 C# 3.0 及更高版本中,Lambda 表达式取代了匿名方法,作为编写内联代码的首选方式 // 声明一个委托 delegate void Printer(string s); class TestClass { static void Main() { //lambda表达式 Printer pp = x => { Console.WriteLine(&quo

js中函数声明与表达式

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

Python: 高阶函数与lambda表达式

缘由: python语法简单一看就会,但用在实处,想因为少于实战,总感觉有些捉襟. 翻阅跟踪youtube_dl源码,看到filter()函数用法,及其中lambda表达式,感觉好有意思,就补下课,记录所思. 1. 高阶函数 所谓高阶函数,即是能接受函数做参数的函数.函数做参,与c#委托.c++函数指针.Delphi事件有类似之处 比如: def my_func(f, *args): f(args) def my_print(s): print ', '.join(s) my_func(my_p

C#语法之匿名函数和Lambda表达式

上一篇博客主要是对委托和事件做了一小结,这篇是在上一篇博客的基础上对匿名函数和Lambda表达式小结.还是接着上一篇说起,在上一篇中也说了委托是一种数据结构,主要是解决让函数作为参数的问题.在使用委托时首先要声明代理,然后实例化,并将委托对象和已定义好的函数关联上,最后调用.这里与已定义好的函数关联的事情,如果函数是经常使用的也还好,如果不是经常使用的可能只调用一次,那这岂不是老费劲了.就是能不能在使用的时候定义下呢?于是乎有了匿名方法. 一.匿名方法的使用. 匿名方法的使用步骤和委托的使用步骤

JavaScript函数和函数表达式

https://segmentfault.com/a/1190000003902899 tag:立即执行函数 http://www.cnblogs.com/TomXu/archive/2011/12/29/2290308.html tag:汤姆大叔 函数声明 函数表达式 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions tag:MDN 函数声明 函数表达式 区别 https://develope

python3 入门 (三) 函数与lambda表达式、闭包

函数 是组织好的.可重复使用的.用来实现单一或相关联功能的代码段. 函数代码块以def关键词开头,后接函数标识符名称和圆括号() 任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定义参数 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明 函数内容以冒号起始,并且缩进 Return[expression]结束函数,选择性地返回一个值给调用方.不带表达式的return相当于返回 None 函数的定义: 1 def test0(): 2 "函数_文档字符串" 3 pri

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

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

委托,匿名函数和lambda表达式

很早之前就接触到了委托,但是一直对他用的不是太多,主要是本人是菜鸟,能写的比较高级的代码确实不多,但是最近在看MSDN微软的类库的时候,发现了微软的类库好多都用到了委托,于是决定好好的研究研究,加深一下自己对他的印象,顺便把自己的感悟和想法写出来,以便自己能有更深的理解,由于本人水平有限,也欢迎大家多多探讨,有问题大家一起解决一起进步. MSDN上面对委托的定义是:delegate 是表示对具有特定参数列表和返回类型的方法的引用的类型.在我看来委托的特性主要在: 1.把一个方法当做一个参数传递给