JavaScript面向对象:自定义对象与函数表现形式解析
"JavaScript自定义对象与扩展" 在JavaScript中,函数是一种特殊的数据类型,可以作为值传递,也可以作为对象的属性。标题提到的几种函数创建方式,实际上展示了JavaScript的灵活性。下面我们将深入探讨这些创建函数的方法以及JavaScript的面向对象特性。 1. 函数声明: ```javascript function func1(a, b) { alert(a + b); } ``` 这是最传统的函数声明方式,通过`function`关键字定义了一个名为`func1`的函数。 2. 函数表达式: ```javascript var func2 = function(a, b) { alert(a + b); } ``` 这是一种函数表达式,匿名函数被赋值给变量`func2`。函数表达式可以延迟执行,而函数声明会立即执行。 3. 自定义函数名的函数表达式: ```javascript var func3 = function func4(a, b) { alert(a + b); } ``` 这种方式看起来像是函数声明,但实际上是函数表达式,因为函数名`func4`仅存在于该表达式内部。 4. `Function`构造器: ```javascript var func5 = new Function("a", "b", "alert(a+b)"); ``` 通过`Function`构造器可以动态创建函数,这里的参数分别是函数的参数和函数体。 5. 对象字面量: ```javascript var fun6 = {}; // 创建一个空对象 ``` 对象字面量通常用来创建具有属性的对象,但如果不需要实例化,可以作为构造函数使用。这里`fun6`是一个空的匿名构造函数,不是一个真正的函数。 6. 初始化对象属性: ```javascript var fun6 = {a: 1, b: 2}; ``` 这里`fun6`是一个具有属性`a`和`b`的对象,而不是函数。 在JavaScript中,面向对象编程是基于原型的,不同于Java和C#的类为基础的编程。这意味着我们不需要先定义一个类,然后实例化它。JavaScript的面向对象特性主要包括: 1. 构造函数: ```javascript function Person(name) { this.name = name; } ``` 构造函数用于创建特定类型的对象,`this`关键字用于引用新创建的对象。 2. 原型链: 每个JavaScript对象都有一个`__proto__`属性,指向创建该对象的构造函数的原型。通过原型,我们可以实现继承和共享属性。 3. 原型对象: ```javascript Person.prototype.sayName = function() { console.log(this.name); } ``` 通过`prototype`,我们可以为所有`Person`对象添加方法。 4. 新建实例: ```javascript var person1 = new Person('张三'); console.log(person1.name); // 输出 '张三' person1.sayName(); // 输出 '张三' ``` `new`关键字用于创建构造函数的新实例。 5. 动态扩展: JavaScript允许我们在对象创建后随时添加新的属性或方法,这体现了其灵活性。 总结来说,JavaScript提供了多种创建和使用函数的方式,同时其面向对象机制基于原型,允许开发者灵活地创建和扩展对象。理解这些概念对于深入学习JavaScript至关重要。
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/e9b7560aaceb4bfbb2d071770a8afbc3_weixin_42185419.jpg!1)
- 粉丝: 12
- 资源: 2万+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 岩石滑动与断层冲击地压:声发射特征分析
- 新时代煤炭工业八大战略新取向剖析
- 开采强度对华亭矿区冲击地压危险性的影响分析
- 新安煤矿探采对比:影响安全生产的关键因素与技术支撑
- 210MW循环流化床锅炉引风机变频改造优化与节能效果
- 浅埋煤层开采沉陷预测:方法应用与影响分析
- 优化巷道过陷落柱支护方案:数值模拟与现场试验
- 坚硬顶板定向断裂爆破技术:安全高效采煤新方案
- 北航2019算法课作业解析:投资策略与凸子多边形优化
- 断层破碎带垮冒下堆积体边界抗力分布关键影响因素
- 哈拉沟选煤厂优化末煤系统提高效率与处理能力
- 瓦斯涌出影响下采动煤体蠕变失稳研究
- 提升煤矿装载效率的可控箕斗定量装载设备设计
- 水分调控下烟煤瓦斯吸附特性对比研究
- 重介质悬浮液密度控制硬件设计与选型探讨
- 坚硬顶板巷道支护参数设计:现场测试与数值分析
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)