JavaScript高级程序设计(第3版)学习笔记10 再访js对象

yizhihongxing

JavaScript高级程序设计(第3版)学习笔记10 再访js对象攻略:

什么是JS对象

JS对象是可变的键控集合,它们的(键)对应的值可以是函数、数组、基本类型值或其他对象。对象在JavaScript中的作用非常广泛,JavaScript是一门基于对象的编程语言,它支持面向对象的编程方式。

构造函数

构造函数是创建特定类型对象的一种特殊函数,它充当初始化对象的角色。构造函数与普通函数的不同之处在于,构造函数的名称通常以大写字母开头,而普通函数则以小写字母开头。以下是构造函数的一个示例:

function Person(name, age) {
  this.name = name;
  this.age = age;
  this.sayName = function() {
    console.log(this.name);
  };
}

原型

原型是一种用于实现对象的关联的编程模式。它是实现继承的主要方式之一,JavaScript中的原型由prototype属性进行引用。每个函数都有一个prototype属性,它是一个对象,包含一些共享的属性和方法。

Person.prototype.sayAge = function() {
  console.log(this.age);
};

继承

JavaScript中提供了基于原型的继承机制,子类对象可以通过原型链来访问父类对象的方法和属性。以下示例演示了如何通过原型继承实现一个圆形对象:

function Shape() {}

Shape.prototype = {
  commonProp: 'common property',
};

function Circle(radius) {
  this.radius = radius;
}

Circle.prototype = Object.create(Shape.prototype);
Circle.prototype.area = function() {
  return Math.PI * this.radius * this.radius;
};

var myCircle = new Circle(10);
console.log(myCircle.commonProp); // "common property"
console.log(myCircle.area()); // 314.1592653589793

在上面的示例代码中,在继承Shape的属性和方法后,添加了一个area()函数,用于计算圆形的面积。 通过new运算符来创建Circle对象,然后可以访问Shape中的属性和area方法。

检查属性是否存在

JavaScript中提供了一种检查对象是否拥有某个属性的方法,这个方法是Object.hasOownProperty()。以下是一个示例:

var person = {
  name: 'Tom',
  age: 18,
};

console.log(person.hasOwnProperty('name')); // true
console.log(person.hasOwnProperty('gender')); // false

此处的代码是创建一个person对象,然后使用hasOwnProperty检查对象是否存在属性name和gender。它返回true和false,表示person对象包含属性name但不包含属性gender。

以上就是JavaScript高级程序设计(第3版)学习笔记10 再访js对象攻略的详细讲解,包含了对象、构造函数、原型、继承等重要内容。此外,还给出了两个详细的示例代码,供读者参考练习。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript高级程序设计(第3版)学习笔记10 再访js对象 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • JavaScript里四舍五入函数round用法实例

    下面是关于”JavaScript里四舍五入函数round用法实例”的攻略: 一、round函数的定义 round函数是Javascript中一个常用的数字取整函数,它可以将指定的浮点数四舍五入到整数。round函数的语法如下: Math.round(x); 其中,x为被四舍五入的数值。 round函数会根据x的小数部分进行判断,如果小数部分的值大于等于0.5…

    JavaScript 2023年6月10日
    00
  • Javascript Global parseFloat() 函数

    JavaScript Global对象中的parseFloat()函数用于将一个字符串解析为浮点数。如果该字符串无法解析为浮点数,则返回NaN。以下是关于parseFloat()函数完整攻略,包括两个示例说明。 JavaScript Global对象中的parseFloat()函数 JavaScript Global对象中的parseFloat()函数用于将…

    JavaScript 2023年5月11日
    00
  • JavaScript中的16进制字符(改进)

    JavaScript中的16进制字符(改进) 在JavaScript中,我们可以使用16进制字符来表示字符或者数字。而由于16进制字符的特殊性,有时会导致一些诡异的问题,本文将为大家介绍如何使用JavaScript中的16进制字符。 1. 什么是16进制字符 在JavaScript中,16进制字符是以\x开头,后跟两个16进制数字所代表的字符。例如,’\x4…

    JavaScript 2023年5月19日
    00
  • JavaScript实现网页截图功能

    实现网页截图功能需要使用到JS的API,其中最主要的是使用html2canvas和canvas2image两个JS库,并且需要遵循跨域访问的规则。下面是实现网页截图功能的完整攻略: 步骤一:引入必要的JS库 在html文件中的head中引入下列两个JS库: <script src="https://cdn.bootcdn.net/ajax/l…

    JavaScript 2023年5月19日
    00
  • JS基于正则实现数字千分位用逗号分隔的方法

    下面是JS基于正则实现数字千分位用逗号分隔的方法的完整攻略。 什么是数字千分位? 在很多情况下,我们需要将数字的千位用逗号分隔,比如说 1000,我们需要显示为 1,000,这样更易于辨认和阅读。 实现方法 在 JavaScript 中,可以使用正则表达式来实现数字千分位的处理。以下是具体实现步骤: 步骤一:将数字转换为字符串 首先,我们要将需要处理的数字转…

    JavaScript 2023年5月28日
    00
  • Javascript基础知识(三)BOM,DOM总结

    Javascript基础知识(三)BOM,DOM总结 BOM(浏览器对象模型) 浏览器对象模型(BOM)提供了一组与浏览器窗口有关的对象,有助于操作浏览器窗口和屏幕显示。BOM是由浏览器厂商自行定义的,因此不属于W3C标准。 BOM的核心对象是window对象,表示浏览器窗口和页面。window对象还可以通过自身属性和方法来操作浏览器窗口、页面、框架、历史记…

    JavaScript 2023年6月10日
    00
  • 理解JavaScript中worker事件api

    理解JavaScript中worker事件API,需要掌握以下几个关键点: 什么是Worker线程? Worker线程是JavaScript中的一种特殊线程,它可以在后台运行独立的JavaScript代码片段,可以与主线程并行工作,从而提高整个Web应用程序的性能。 什么是Worker事件API? Worker事件API是用于管理Worker线程和主线程之间…

    JavaScript 2023年5月28日
    00
  • JAVASCRIPT 客户端验证数据的合法性代码(正则)第2/2页

    JAVASCRIPT 客户端验证数据的合法性代码(正则)攻略 什么是正则表达式? 正则表达式,也称为RegExp对象,是一种强大且灵活的字符串匹配工具,可用于匹配、替换、删除文本内容。在JavaScript中,正则表达式由斜杠(/)包围,并在斜杠之间包含模式文本。 为什么要使用正则表达式? 数据的合法性是Web表单中的关键问题,JavaScript正则表达式…

    JavaScript 2023年6月1日
    00
合作推广
合作推广
分享本页
返回顶部