c++ 函数内部可以调用外部函数吗_web前端-js函数

本文详细介绍了JavaScript中的函数,包括函数的声明、name属性、length属性、变量提升、一等公民特性以及如何作为参数、返回值和对象方法。此外,文章深入探讨了闭包的概念、分类、作用及潜在问题,揭示了闭包在JavaScript内存管理中的重要性。
摘要由CSDN通过智能技术生成

e5b2ef604ba65314f7ab7333f8188128.png

结合视频学习效果更佳~~

https://www.bjsxt.com/down/9217.html​www.bjsxt.com
db831ef4a2a8c18ec5639237967b3607.png
JavaScript函数视频教程-尚学堂 JavaScript函数视频教程-尚学堂​www.bjsxt.com
db831ef4a2a8c18ec5639237967b3607.png

4c1312618dc0cb685043923700beb483.png

一、函数总结说明

1.1不能在非函数的代码块中声明函数

不要在代码块中定义一个函数,这样造成假的情况下不执行

9283c588373d7b6f586abcaa0b2857b6.png

beb89254fb761a985b79ced2f28ca6e0.png

1.2 name属性和length属性

d17c00d85e3bccf4f25e7735d04a9b77.png

1.3变量和函数的提升

函数的提升

2fbb499f9a253f4520c5e22af41485a5.png

1.4 超一等公民

在很多传统语言(C/C++/Java/C#等)中,存在,你只能用语言的关键字声明一个函数然后调用它,如果需要把函数作为参数传给另一个函数,或是赋值给一个本地变量,又或是作为返回值,就需要通过函数指针(function pointer)、代理(delegate)等特殊的方式周折一番。
但是在JavaScript世界中函数却是超一等公民,它不仅拥有一切传统函数的使用方式(声明和调用),而且可以做到像简单值一样赋值、传参、返回,这样的函数也称之为第一级函数(First-class Function)或一等公民。不仅如此,JavaScript中的函数还充当了类的构造函数的作用,同时又是一个Function类的实例(instance)。这样的多重身份让JavaScript的函数变得非常重要。

1.4.1函数自定义声明

1.4.2将函数赋值给变量

1.4.3将函数作为参数

1.4.4将函数自调用

1.4.5将函数作为对象的方法

1.5 arguments对象

c2059438d5fa2bd0953d7bb0b56e5868.png

831a95682f83763901118dca04c9bc9b.png

1.6值传递和地址传递

值传递:

2634d649aa6fba2499316c093f4b1d46.png

地址传递:

fb83a3bd38c5921443304f39476cb4dc.png

499e17a42ad087617d1d4d0246dea8d2.png

1bc3907cadcc52dcacf091e959dec598.png

1.7函数的同名参数

6d2a4e9569490e2d1e50995813db467f.png

1.8 eval函数

eval(“字符串”):可以计算字符串的值

abb339364beed0c93c785256fff2c241.png

1.9 instanceof类型检测

instanceof 用于判断一个变量是否是某个对象的实例

1cd85561ddacf77ddc7a5fa100a65115.png

506f9075337f3b58ab7f92dc030ad5f4.png

1.0 javascript垃圾回收机制

对于其他语言来说,如C,C++,需要开发者手动的来跟踪并管理内存。

Javascript 具有自动垃圾回收机制,会定期对那些我们

其原理就是找出那些不在被使用的变量,然后释放其所占有的内存。

1.11 作业:统计字符串中字母出现最多的字符

二、闭包(重点难点)

2.1为什么要使用闭包

闭包是解决什么问题的?

d68fbc85af35ae6312e04c831e1dead9.png

怎样解决这个问题?

2890579b6f62ba3b81cb63ff23aedf13.png

2.2 什么是闭包

闭包:能够读取其他函数(外部函数)变量的函数(内部函数)就是闭包。

8ca6b44b93c2f29085afae6204aa49b0.png

2.3 闭包的分类

2.3.1函数闭包

788dfd2b54e645550573005ba7900fa8.png

88cf60b5b4ac4161d59409b8c2498505.png

117b6a594cdb637df8d4290fc1b26b9e.png

d50309890bbff6200bfcc3cf721eafa8.png

2.3.2对象闭包

0f6bce2f3930bc1d57e4959293a229cf.png

2.4 闭包的特点和作用

闭包的特点:

特点1:函数内部包含一个函数

特点2:内部函数可以使用外部函数的变量

闭包的作用:

1.一个就是可以读取函数内部的变量。

2.另一个就是让这些变量的值始终保持在内存中。

2.5计数器的累加

d8277d7a467d646a649cee7f47d75b68.png

043cfac346328d2dd8b70c8222baad17.png

2.6闭包的问题

内存泄漏

内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。

多次调用

2.7 闭包的实际应用

没有使用闭包

922c9acb04fc4c5a37cf291b30fee773.png

使用了闭包

d20d712251b81f66b43316105d5a2eaf.png

a87e17f633da0d2db1687a4ed4d337ae.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值