函数声明和函数表达式
来源:互联网 发布:淘宝发货了还能退款吗 编辑:程序博客网 时间:2024/04/26 04:12
可能在其他语言中看起来有点奇怪,但是在javascript
中,函数确实有两种含义,第一种和其他语言相似,
函数是一段可以反复调用执行的代码。但另一方面
javascript函数也是一种对象,他可以拥有属性和方法
就和一般的对象一样。这也意味着函数在javascript是
如此的重要和多变。因为他是对象,那么他自然可以和
其他对象一样,赋值给一个变量,也就是被引用,另外
他也可以作为另一个函数的返回值或者参数。那么函数
声明和函数表达式有什么区别呢?其实来说,两者并
没有本质的区别,都能创建一个函数对象,只不过函数
表达式是一个完整的语句,但是函数表达式则必须是一个
表达式的一部分,有时他们是没有区别的,区分他们要看
他们所处上下文,比如在一个赋值语句中他是一个表达式,
否则就是一个声明。声明和表达式的区别在于什么呢?
首先我们说一个函数声明会被无条件的提前,即可以提
前调用,但函数表达式则需要执行到他是才能创建一个
函数对象。另外,由于他是表达式的一部分,因此其
作用域也是受限的。比如var fun=function a(){};你只能
依靠fun来调用这个函数对象,a在外部是不可见的。但是
可以在其内部使用,比如var fun=function a(){alert(a.name)}。
我们要时刻记住的是,函数是一个特殊的对象,他会有一个不
公开或不常用的属性叫name;比如你创建一个函数对象,如果
加了标识符,这个标识符就会成为他的name。比如你直接声明
一个函数,function a(){};那么你创建了一个函数对象,其name
属性叫a;另外在表达式中,比如var fun=function(){};fun只是对函数
对象的引用,这个函数对象是一个匿名函数,因此其name属性是
一个空字符串。而不是fun.
- 函数声明和函数表达式
- 函数表达式 和函数声明
- 函数声明和函数表达式
- 函数表达式和函数声明
- 函数声明和函数表达式
- 函数声明和函数表达式
- 函数声明和函数表达式
- 函数声明和函数表达式
- 函数声明和函数表达式
- JS函数-函数声明和函数表达式
- 函数的声明和表达式
- {{Javascript}}函数表达式和函数声明
- Javascript中的函数声明和函数表达式
- JS函数声明和函数表达式
- javascript中的函数声明和函数表达式
- javascript中的函数声明和函数表达式
- JavaScript的函数声明和函数表达式
- JavaScript中的函数声明和函数表达式
- Django Context小解
- Apache Commons-Pool 源码分析
- 在 Linux 上实现基于 Socket 的多进程实时通信
- 获取本地主机名和IP地址
- iOS9
- 函数声明和函数表达式
- Hadoop CDH5 手动安装伪分布式模式
- 用Eclipse开发和调试Android应用程序(二)(转)
- Codeforces Round #213 (Div. 1)
- JSON用法简介
- uva 753 - A Plug for UNIX(网络流最大流)
- asp.net 传值给服务端,服务端处理并且显示
- WordPress 远程管理
- replaceAll中的斜杆问题