JavaScript高级学习:匿名函数与this详解
需积分: 20 121 浏览量
更新于2024-07-17
收藏 732KB DOCX 举报
"这篇文档是关于JS高级学习的资料整理,特别适合HTML初学者。文档内容涵盖函数的创建方式,包括命名函数、匿名函数和以对象形式声明的函数,以及函数的关键字return的重要作用。此外,还深入讲解了函数内部的属性,如this、prototype、length和arguments,特别是this的四种调用方式以及prototype的概念和作用。"
在JavaScript中,函数是第一类公民,可以被赋值给变量、作为参数传递以及作为其他函数的返回值。函数的创建有三种方式:
1. 命名函数:`function 函数名(){函数体return //返回值}`,这种形式的函数具有名字,便于识别和调用。
2. 匿名函数:`var 函数名 = function(){函数体return //返回值}`,没有具体的名称,通常用于一次性执行的任务。
3. 以对象形式声明:`var 变量名 = new Function("参数1", "参数2", "函数体")`,这种方式允许动态创建函数。
`return` 关键字在函数中起到至关重要的作用。它可以:
1. 设置函数的返回值,当函数执行完毕后,这个值可以被外部获取。
2. 终止函数的后续执行,一旦遇到return,函数内部的代码将不再执行。
在JavaScript中,`this` 是一个特殊的关键字,它总是指向调用函数的那个对象。具体来说,`this` 的值取决于函数的调用方式:
1. 全局性调用:`this` 指向全局对象,在浏览器环境中是`window`。
2. 对象方法调用:`this` 指向包含该方法的对象。
3. 构造函数调用:使用`new`关键字时,`this` 指向新创建的实例。
4. `apply`和`call`调用:这两个方法允许我们改变函数的上下文,`this`指向传入的第一个参数所代表的对象。
`prototype` 是每个函数都具有的一个属性,它引用了一个对象,这个对象被称为原型对象。原型对象包含了函数实例共享的属性和方法。通过原型,我们可以实现对象间的继承。当使用构造函数创建新对象时,新对象内部有一个隐藏的指针`__proto__`指向构造函数的`prototype`,从而实现了原型链。
默认情况下,`prototype`对象有一个`constructor`属性,它指向创建该原型对象的函数。通过原型链,实例可以访问到构造函数的`prototype`上的方法和属性,实现了JavaScript的面向对象特性。
这篇文档提供了JS高级学习中的关键概念,对于理解和掌握JavaScript的核心机制非常有帮助,尤其是对函数的使用和面向对象编程的理解。对于想要深入学习JavaScript的开发者,这是一个很好的学习资源。
2019-09-18 上传
2019-06-27 上传
2019-06-27 上传
2020-04-27 上传
2020-05-01 上传
2022-06-27 上传
2024-06-03 上传
刺心疯
- 粉丝: 281
- 资源: 14
最新资源
- JDK 17 Linux版本压缩包解压与安装指南
- C++/Qt飞行模拟器教员控制台系统源码发布
- TensorFlow深度学习实践:CNN在MNIST数据集上的应用
- 鸿蒙驱动HCIA资料整理-培训教材与开发者指南
- 凯撒Java版SaaS OA协同办公软件v2.0特性解析
- AutoCAD二次开发中文指南下载 - C#编程深入解析
- C语言冒泡排序算法实现详解
- Pointofix截屏:轻松实现高效截图体验
- Matlab实现SVM数据分类与预测教程
- 基于JSP+SQL的网站流量统计管理系统设计与实现
- C语言实现删除字符中重复项的方法与技巧
- e-sqlcipher.dll动态链接库的作用与应用
- 浙江工业大学自考网站开发与继续教育官网模板设计
- STM32 103C8T6 OLED 显示程序实现指南
- 高效压缩技术:删除重复字符压缩包
- JSP+SQL智能交通管理系统:违章处理与交通效率提升