0

0

JS中函数的重要性

php中世界最好的语言

php中世界最好的语言

发布时间:2018-03-19 16:26:42

|

3124人浏览过

|

来源于php中文网

原创

这次给大家带来js中函数的重要性,使用js中函数的注意事项有哪些,下面就是实战案例,一起来看一下。

php商城系统
php商城系统

PHP商城系统是国内功能优秀的网上商城系统,同时也是一个商业的PHP开发框架,有多套免费模版,强大的后台管理功能,专业的网上商城系统解决方案,快速建设网上购物商城、数码商城、手机商城、办公用品商城等网站。 php商城系统v3.0 rc6升级 1、主要修复用户使用中出现的js未加载完报错问题,后台整改、以及后台栏目的全新部署、更利于用户体验。 2、扩展出,更多系统内部的功能,以便用户能够迅速找到需

下载

既然是对象,那么它就可以:

  1. 通过字面量创建

  2. 赋值给变量,数组元素和其他对象的属性(property)

  3. 作为参数传递给函数

  4. 作为函数的返回值

  5. 含有能被动态创建和赋值的属性

除了上述对象的功能,函数区别其它对象之处是能被调用。

在JS中,存在变量提升。当一个变量通过var声明之后,会立即被提升至当前作用域顶部(let 和 const 声明的变量则不会)。例如:

1 function a() {2     console.log(b);3     var b = 10;4 }5 a();  //undefined

上面这段代码的运行结果为undefined。原因是,当b变量通过var声明后,发生了变量提升,立即被提升至当前作用域顶部(注意,提升是在声明之后立即发生,此时b还未被定义!),此时的“当前作用域”就是函数a的作用域。因此,上面的代码其实是这样的:

1 function a() {2     var b;  //变量的声明被提升至当前作用域顶部3     console.log(b);4     b = 10;5 }6 a();

变量b的声明被提升至第二行(提升的只是声明),且此时b没有被赋值,因此代码继续执行至第三行console.log(b)时,就输出了undefined。

而JS除了变量提升外,还存在“函数提升”。同理,函数也会被提升,只不过,函数不仅仅是声明的提升,而是“整体提升”。请看下面的代码:

1 function a() {2     b();3     function b() {4         console.log("yes!");5     }6 }7 a();  //yes!

此时可以正常执行函数b。这正是因为函数被提升,而且是“整体提升”,所以b()才能正常执行。这段代码其实等价于:

1 function a() {2     function b() {3         console.log("yes!");4     }5     b();6 }7 a();  //yes!

需要注意的是,只有普通形式声明的函数才能被提升!例如:

1 function a() {2     b();3     var b = function() {        //字面量声明的函数4         console.log("yes!");5     }6 }7 a();  //报错

这里的匿名函数是通过字面量声明的,所以不存在函数提升,结果就会报错。

但是,当变量和函数同时被声明时,谁提升得更优先呢?

在JS中,函数之所以被称为“一等公民”,其中一个原因就是它比变量更有优先级,在发生提升时,函数会提升至作用域的最顶部!例如:

1 function a() {2     var b = 10;3     function b () {4         console.log("yes!");5     }6     console.log(b);7     console.log(typeof b);8 }9 a();    //10  number

在这段代码中,变量b的声明被提升,但作为“一等公民”的函数却被提升到变量b的声明之上。在执行代码阶段,10赋值给b,因此输出结果,b是10,类型变成了number。

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

微信小程序怎么实现数据双向绑定

JavaScript之优化DOMWebpack模块的使用

相关专题

更多
vlookup函数使用大全
vlookup函数使用大全

本专题整合了vlookup函数相关 教程,阅读专题下面的文章了解更多详细内容。

26

2025.12.30

金山文档相关教程
金山文档相关教程

本专题整合了金山文档相关教程,阅读专题下面的文章了解更多详细操作。

28

2025.12.30

PS反选快捷键
PS反选快捷键

本专题整合了ps反选快捷键介绍,阅读下面的文章找到答案。

25

2025.12.30

表格中一行两行的方法
表格中一行两行的方法

本专题整合了表格中一行两行的相关教程,阅读专题下面的文章了解更多详细内容。

3

2025.12.30

cpu温度过高解决方法大全
cpu温度过高解决方法大全

本专题整合了cpu温度过高相关教程,阅读专题下面的文章了解更多详细内容。

5

2025.12.30

ASCII码介绍
ASCII码介绍

本专题整合了ASCII码相关内容,阅读专题下面的文章了解更多详细内容。

31

2025.12.30

GPS是什么
GPS是什么

本专题整合了GPS相关内容,阅读专题下面的文章了解更多详细内容。

3

2025.12.30

wifi拒绝接入
wifi拒绝接入

本专题整合了wifi拒绝接入相关教程,阅读下面的文章了解更多详细方法。

9

2025.12.30

丰网速运介绍
丰网速运介绍

本专题整合了丰网速运查询入口以及相关内容,阅读专题下面的文章了解更多内容。

3

2025.12.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
React 教程
React 教程

共58课时 | 3.1万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 1.9万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 2.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号