JavaScript是一种功能强大的编程语言,支持面向对象编程(OOP)。实际上,在JavaScript中,对象*** - 从核心功能(如字符串和数组)到使用该语言构建的浏览器API。
Bautista是一位美国网络开发人员,热衷于教授人们编程,他强调“要将你的JavaScript技能提升到一个新的水平,你需要理解语言的基于对象的本质。"
以下是在面向对象的JavaScript(OOJS)编程中创建对象的三种方法:
使用对象文字
在OOP中,对象文字是指用大括号括起来的用逗号分隔的名称 - 值对列表。名称是字符串,值是可用的任何基本数据类型,例如数组,字符串,数字,函数等等。
通常,对象文字用于封装代码并将其包装在有序的包中。这样,它们可以防止与全局范围内的变量和对象发生冲突。使用对象文字,您可以一起收集属性和方法,并使您的代码干净整洁。
JavaScript对象文字是单例,它们允许您方便灵活地创建对象。它们可以避免编写过多代码。例如,您可以将对象文字放置在工作区中的任何位置,而不包括任何先前的设置,并且它仍然可以正常工作 - 这可能非常有用!
虽然对象文字很重要,但它们不支持实例化或继承。如果要使用这些功能,则需要使用其他技术来创建对象。
使用对象构造函数
构造函数是创建JavaScript对象的最常规技术,它依赖于原型继承来利用彼此的功能。这些函数的一个关键特性是它们可以实例化和继承。
构造函数的创建就像常规函数一样。但是,区别在于this关键字用于声明属性和方法。通常,new将新创建的对象绑定到被调用构造函数中的this运算符。当调用类似于watch的函数时,浏览器将向上移动对象链及其各自的原型属性,直到它检索其值。
使用原型继承
也可以使用原型继承的概念创建JavaScript对象。大多数现代浏览器使用名为__proto__ 的特殊属性实现原型,该属性发音为dunder proto(双下划线原型的缩短版本)。
重要的是要注意__proto__是一种新的JavaScriptES6语法,可能在旧浏览器中不可用。或者,您可以使用Object.create方法创建原型。