javascript 用函数语句和表达式定义函数的区别详解
通常我们会看到以下两种定义函数的方式:
// 函数语句 function fn(str) {console.log(str); }; // 表达式定义 var fnx=function(str) {console.log(str+ ' from fnx'); };
两种方式都创建了新的函数对象, 但函数声明语句的函数名是一个变量名, 变量指向函数对象,
和通过var声明变量一样,函数定义语句中的函数被显示地提前到了脚本或函数的顶部, 因此它们在整个脚本和函数内都是可见的,但是使用var 表达式定义函数,
只有变量声明提前了,变量初始化代码仍然在原来的位置, 用函数语句创建的函数, 函数名称和函数体均被提前,所以我们可以在声明它之前就使用它。
console.log(typeof(fn)); // functionfn('abc'); // abc console.log(typeof(fnx)); // undefinedif(fnx)fnx('abc'); // will not executeelseconsole.log('fnx is undefined'); // fnx is undefined// 函数语句function fn(str){console.log(str);};// 表达式定义var fnx=function(str){console.log(str+ ' from fnx');};
转载于:https://www.cnblogs.com/disneyland/p/3924480.html
javascript 用函数语句和表达式定义函数的区别详解相关推荐
- (小白)函数一: 声明函数的方法—语句定义法和表达式定义法的区别
一.函数的定义: 在说明什么是函数前先举一个小例子: 大家都知道印刷术是我国的四大发明(科普一下:中国四大发明:造纸术.印刷术.火药.指南针)之一,之所以有印刷术,是因为重复的抄写既浪费时间,效率又很 ...
- python函数中可变参数的传递方式是_详解Python函数可变参数定义及其参数传递方式...
Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): ...
- C++友元函数和友元类(C++ friend)详解
在看VISP视觉库的时候遇到友元函数: Friends void swap (vpDetectorAprilTag &o1, vpDetectorAprilTag &o2) 在定义一个 ...
- python中sort函数字符串_python中的sort方法使用详解
< Python树莓派编程>--3.3 Python入门 本节书摘来自华章出版社<Python树莓派编程>一书中的第3章,第3.3节,作者:[美]沃尔弗拉姆·多纳特(Wolfr ...
- jQuery height()、innerHeight()、outerHeight()函数的区别详解
参考来源:http://www.jb51.net/article/84897.htm 代码示例(可复制到编辑器直接打开): 1 <!DOCTYPE html> 2 <html lan ...
- php根据元素返回可以,array_search()函数按元素值返回键名步骤详解
这次给大家带来array_search()函数按元素值返回键名步骤详解,array_search()函数按元素值返回键名的注意事项有哪些,下面就是实战案例,一起来看一下. array_search() ...
- php判断参数_php检查函数必传参数是否存在的实例详解
php检查函数必传参数是否存在的实例详解 在php实际编程中,接口经常会接收到前端传来的参数,其中有些参数不是必传的,有些参数是必传的,如何"检查函数必传参数是否存在"呢?为了解决 ...
- python中search和match的区别_Python中正则表达式match()、search()函数及match()和search()的区别详解...
match()和search()都是python中的正则匹配函数,那这两个函数有何区别呢? match()函数只检测RE是不是在string的开始位置匹配, search()会扫描整个string查找 ...
- JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解
JS 字符串编码函数(解决URL特殊字符传递问题):escape().encodeURI().encodeURIComponent()区别详解 参考文章: (1)JS 字符串编码函数(解决URL特殊字 ...
最新文章
- [WinAPI] API 5 [遍历驱动器并获取驱动器属性]
- 旅行商问题(Traveling Saleman Problem,TSP)
- 论文浅尝 | 基于多原型mention向量的文本-实体联合学习
- Python——腾讯笔试编程题(函数练习)
- 小姐姐公开征婚高智商 IT 男:微信号竟要质数解密?
- 实用主义学python_麻瓜编程《实用主义学Python》课程全集下载地址 – 爱学知识网...
- 一个有意思的VMP破解 旺旺吧上网经营管理系统
- 设置计算机从u盘启动的英文,如何在BIOS中设置U盘启动
- Ubuntu 18.04 安装 Wine
- win7系统备份还原软件_十分不错的系统还原工具 一键还原备份系统软件 一键还原备份SGIMINI4.0通用版本...
- HDRP高清渲染管线-学习资料汇总
- Bagging 和 Boosting理解、区别与联系
- 听风的插件-正在战斗中
- 详细解析图像处理 直方图均衡化计算
- 访问局域网另外一台电脑虚拟机中CentOS7
- 科创人·派拉软件CEO谭翔:零信任本质是数字安全,To B也要深研用户心智
- NIR近红外光谱简介
- WC .exe C语言实现
- 金属有机骨架mof载药|阿霉素药物载体La/Tm-MOFs@SiO复合材料|PCN-224负载环丙沙星
- 家庭新成员:德牧听泉
热门文章
- Matlab 中prod函数的使用
- HTML-meta标签
- 去哪儿-18-detail-list
- MFC浅析 8 CArchive 原理
- 计算机视觉基础-图像处理(图像滤波)cpp+python
- OPENSSL 的深入理解
- phpmyadmin 导出mysql_PhpMyAdmin创建/导入/导出MySQL数据库教程[图文]
- 爬虫怎么处理python_python 爬虫怎么处理json内容
- netty心跳过程中 发送消息失败_netty心跳机制和断线重连(四)
- 技术面试问项目难题如何解决的_同轴线如何当网线使用?解决改造项目中难题...