二,oop
每一个函数都包含了一个prototype属性,这个属性指向了一个prototype对象
Every function has a prototype property that refers to a predefined prototype object
看过一篇文章介绍说javascript中对象的prototype属性相当于java中的static变量,可以被这个类下的所有对象
共用.而上面的例子似乎表明实际情况并不是这样:
在JS中,当我们用new操作符创建了一个类的实例对象后,它的方法和属性确实继承了类的prototype属性,类的prototype属性
中定义的方法和属性,确实可以被这些实例对象直接引用.但是,当我们对这些实例对象的属性和方法重新赋值或定义后,那么
实例对象的属性或方法就不再指向类的prototype属性中定义的属性和方法,此时,即使再对类的prototype属性中相应的方法或
属性做修改,也不会反应在实例对象身上。
三,oop2
function myfunc ()
{
alert("hello");
};
myfunc(); //这里调用myfunc,输出yeah 而不是hello
function myfunc ()
{
alert("yeah");
};
myfunc(); //这里调用myfunc,当然输出yeah
/*
按理说,两个签名完全相同的函数,在其他编程语言中应该是非法的。但在JavaScript
中,这没错。不过,程序运行之后却发现一个奇怪的现象:两次调用都只是最后那个函数里
输出的值!显然第一个函数没有起到任何作用。这又是为什么呢?
JavaScript 执行引擎并非一行一行地分析和执行程序,而是一段一段地分析执行的。
而且,在同一段程序的分析执行中,定义式的函数语句会被提取出来优先执行。函数定义执
行完之后,才会按顺序执行其他语句代码。也就是说,在第一次调用myfunc 之前,第一个
函数语句定义的代码逻辑,已被第二个函数定义语句覆盖了。所以,两次都调用都是执行最
后一个函数逻辑了。
四,
JavaScript 里的函数和对象既有对象的特征也有数组的特征
分享到:
相关推荐
在韩顺平的JavaScript笔记中,他深入讲解了JS面向对象编程的各个方面,包括变量的作用域、对象引用、this关键字的使用以及对象的方法。 首先,变量的作用域在JavaScript中是一个关键概念。带var和不带var声明的变量...
**JS面向对象编程** JavaScript(JS)是一种广泛用于网页和网络应用的脚本语言,它支持面向...结合韩顺平老师的笔记,这些概念和实践会帮助你深入理解JS面向对象编程和DOM编程,从而更好地构建交互丰富的Web应用程序。
### JavaScript 面向对象编程 #### 1. 对象创建模式 JavaScript 中创建对象主要有两种模式:工厂模式和构造函数模式。 **工厂模式**是将对象的创建集中到一起进行操作,定义一个函数,通过传递参数来初始化对象的...
面向对象的JavaScript编程是JavaScript开发中的重要概念,它允许我们以类和对象的...以上就是对"面向对象javascript笔记"所涵盖知识点的详细解析。理解并掌握这些概念对于深入理解和高效地编写JavaScript代码至关重要。
JavaScript是一种基于原型和函数式编程的动态类型语言,面向对象编程是其核心概念之一。本文将深入探讨JavaScript中的面向对象编程,主要关注类、对象、以及实现继承的几种模式。 首先,我们来看对象的创建。在...
在JavaScript中,面向对象编程(Object-Oriented Programming,简称OOP)是一种重要的编程范式,它允许我们通过对象和类的概念来组织代码,提高代码的可读性和可维护性。本文将深入探讨JavaScript中的面向对象编程,...
这些文件通常会利用以上提到的JavaScript概念,通过模块化和面向对象编程等方式组织代码,实现各自的功能。 学习JavaScript不仅仅是掌握语法,还需要理解其运行机制和最佳实践,以便写出高效、可维护的代码。同时,...
4. 面向对象:基于原型,而非类。 JavaScript与网页的交互主要依赖于DOM(Document Object Model)和BOM(Browser Object Model)。DOM提供了对网页内容进行操作的对象,而BOM则允许开发者控制浏览器的某些特性,如...
什么是对象 简单点说,编程语言中的对象是对现实中事物的简化。例如,我们一个人就是一个对象,但是编程...在后面的JavaScript对象笔记中,记录了菜鸟在学习JavaScript对象的大多数资源,希望这些资源对你也有价值。
无论什么时候,只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性,这个属性指向函数的原型对象。在默认情况下,所有的原型对象都会自动获得一个constructor(构造函数)属性,这个属性包含...
韩顺平老师的JavaScript笔记全面涵盖了基础语法、面向对象编程以及DOM编程,这些都是学习JavaScript时至关重要的知识点。 首先,基础语法是JavaScript学习的基石。包括变量声明(var、let、const)、数据类型(如...
这个笔记是我在B站根据Mosh的JavaScript面向对象编程教学视频中学习并记录的,里面有我记录的知识点,自己写的代码,还有小部分的截图。大家可以在学习这个内容的时候看一下我的笔记进行参考一下。 视频链接:...
8. **原型与继承**:JavaScript中的对象具有原型链,可以实现面向对象的继承。了解`__proto__`和`Object.create()`等概念对于深入理解JavaScript的继承机制至关重要。 9. **ES6及以后的新特性**:包括类(class)、...
另外,JavaScript的对象还支持原型继承和构造函数,这是实现面向对象编程的基础。 Date对象用于处理日期和时间,提供了许多方法来获取或设置日期,如`getFullYear()`,`getMonth()`,`getDate()`等。String对象提供...
javascript学习笔记,包括基本语法、面向对象、正则表达式、dom的所有操作
这篇文章《JavaScript笔记》的配套代码提供了丰富的实例,旨在帮助读者深入理解和掌握JavaScript的基本概念、语法以及应用技巧。 首先,我们来看看“JS笔记”部分。在学习JavaScript时,理解变量的声明、数据类型...
object-oriented-js, 面向Udacity的Javascript课程的笔记和练习 object-oriented-js面向udacity对象面向对象Javascript课程的笔记和练习,按课组织。 每个文件都包含学生可以以在IDE中运行的代码以跟随教师在视频中...
1. 类与模块:ES6引入了类(class)语法,使得面向对象编程更加简洁。模块(module)允许代码组织和重用。 2. 常量与let:`const`用于声明不可更改的常量,`let`则允许块级作用域内的变量声明。 3. 解构赋值:允许...
9. **面向对象编程**:JS支持基于原型的面向对象,包括构造函数、原型链、继承等概念。 10. **JavaScript框架和库**:如jQuery简化了DOM操作,React、Vue、Angular等现代框架则帮助构建大型单页应用。 这些笔记...
8. **面向对象编程**:JavaScript支持基于原型的面向对象编程,包括构造函数、实例化、this关键字、继承和多态。此外,ES6引入的class语法糖让JavaScript的面向对象编程更接近于传统的类继承模型。 9. **函数式编程...