js属性对象的hasOwnProperty方法的使用

js对象中的属性可以分为两类,一类是对象自身定义的属性,另一类是从原型链中继承而来的属性。js属性对象的hasOwnProperty()方法用于判断一个属性是否是对象自身定义的属性,其用法如下:

对象.hasOwnProperty(属性名称)

其中,对象为需要检查的对象,属性名称是需要检查的属性,如果该属性是对象自身定义的属性,则返回true,否则返回false

下面通过两条示例来说明该方法的使用。

示例1:

let object1 = {
  name: "小明",
  age: 20
};
console.log(object1.hasOwnProperty("name")); // true
console.log(object1.hasOwnProperty("toString")); // false

在上述示例中,定义了一个名为object1的对象,其中有两个属性,一个是自身定义的name属性,另一个是从对象原型继承而来的toString属性。接下来通过hasOwnProperty()方法判断nametoString是否为自身定义的属性,打印结果如下:

true
false

可以看到,对于自身定义的name属性,其返回结果为true,而对于从原型链中继承而来的toString属性,其返回结果为false,说明该方法可以很好地区分实例属性和原型属性。

示例2:

function Student(name, age) {
  this.name = name;
  this.age = age;
}
Student.prototype.sayHello = function() {
  console.log(`你好,我叫${this.name},今年${this.age}岁了。`);
}
let stu1 = new Student("小明", 20);
console.log(stu1.hasOwnProperty("name")); // true
console.log(stu1.hasOwnProperty("sayHello")); // false

在上述示例中,定义了一个名为Student的构造函数,并通过原型链为其定义了一个方法sayHello。接下来创建了一个名为stu1的对象,并通过hasOwnProperty()方法判断stu1的属性namesayHello是否是自身定义的属性,打印结果如下:

true
false

可以看到,对于自身定义的属性name,其返回结果为true,而对于从原型链中继承而来的属性sayHello,其返回结果为false,这再一次证明了该方法可以区分实例属性和原型属性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js属性对象的hasOwnProperty方法的使用 - Python技术站

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

相关文章

  • json对象与数组以及转换成js对象的简单实现方法

    下面是关于“json对象与数组以及转换成js对象的简单实现方法”的完整攻略: 1. 什么是JSON JSON,全称是JavaScript Object Notation,是一种轻量级的数据交换格式。它基于JavaScript语法的子集,包括对象、数组、字符串、数字、布尔值和null。 JSON被广泛应用于Web应用程序和API中,是一种常用的数据交换格式。现…

    JavaScript 2023年5月27日
    00
  • js 中{},[]中括号,大括号使用详解

    下面我来详细讲解一下 JS 中 {}、[] 中括号、大括号使用的详细攻略。 大括号 {} 大括号 {} 在 JS 中主要用于表示一个代码块,可以将多条语句组合在一起,在循环、条件语句、对象字面量等场景下经常使用。 下面是一个将数组中的奇偶数分离的示例: const arr = [1, 2, 3, 4, 5, 6]; const even = []; cons…

    JavaScript 2023年5月27日
    00
  • js校验表单后提交表单的三种方法总结

    JS校验表单后提交表单有三种方法总结,分别是: 1.提交前在JS验证,如果无误则提交。 2.在提交按钮上绑定函数,在函数中判断表单是否填写正确。 3.在表单提交时,拦截表单提交请求,验证表单数据后提交。 下面我将会对上述每个方法进行详细讲解,并提供示例: 1.提交前在JS验证,如果无误则提交 这个方法是最基本的方法,它的核心是在提交表单之前进行验证。我们可以…

    JavaScript 2023年6月10日
    00
  • 关于js typeof 与 instanceof 判断数据类型区别及开发使用

    关于 JS typeof 与 instanceof 判断数据类型的区别及使用攻略 在 JavaScript 开发中,判断数据类型是一项非常重要的操作,正因为这个原因,我们需要了解如何使用 typeof 和 instanceof 来判断不同类型的数据。 typeof 操作符 typeof 操作符是 JavaScript 中最常用的类型判断工具之一,它可以返回一…

    JavaScript 2023年6月10日
    00
  • 事件绑定之小测试 onclick && addEventListener

    事件绑定是 Web 开发中常用的技术。在 JavaScript 中,有多种方法可以实现事件绑定,其中包括 onclick 和 addEventListener。本文将介绍 onclick 和 addEventListener 的使用方法以及他们之间的区别,同时提供了两个示例,以帮助读者更好地理解事件绑定。 onclick onclick 是 JavaScri…

    JavaScript 2023年6月11日
    00
  • javascript每日必学之多态

    JavaScript每日必学之多态 什么是多态? 多态是指对象在不同场合下可以表现出不同的行为。在面向对象编程中,多态是一个重要的概念,它能够增强代码的灵活性和可扩展性。 实现多态的方式 在JavaScript中,实现多态的方式通常有两种: 1. 通过函数的参数实现 使用函数的参数实现多态,需要用到函数重载的概念。在JavaScript中,由于函数的参数个数…

    JavaScript 2023年5月18日
    00
  • 帮你提高开发效率的JavaScript20个技巧

    帮你提高开发效率的JavaScript 20个技巧攻略 1. 使用模板字面量 模板字面量是ES6新特性中之一,它使用反引号 ` 来包裹字符串模板,可以非常方便地插入变量、表达式、换行符及其它一些字符。使用模板字面量可以更加优雅简洁地构建字符串,提高开发效率。 例如,使用模板字面量来生成HTML代码: const div = ` <div class=&…

    JavaScript 2023年5月18日
    00
  • js打开word文档预览操作示例【不是下载】

    下面是 “js打开word文档预览操作示例【不是下载】” 的完整攻略。 简介 在网站开发过程中,有时需要在网站中添加文档的显示与操作功能,而常见的文档格式之一就是 Word 文档。如果用户想要打开 Word 文档,可以使用浏览器的默认下载方式,但比较麻烦。此外,我们还可以使用 JavaScript 的一些方法实现在网页中快速打开 Word 文档预览,而不是下…

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