首页 > 试题广场 >

下列代码hasOwnProperty的作用是?

[单选题]
下列代码
var obj={}
……..
obj.hasOwnProperty("val")
中hasOwnProperty的作用是?
  • 判断obj对象是否具有val属性
  • 判断obj对象是否具有val的值
  • 判断obj的原型对象是否具有val的属性
  • 判断obj的原型对象是否具有val的值
hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。
isPrototypeOf是用来判断要检查其原型链的对象是否存在于指定对象实例中,是则返回true,否则返回false。
发表于 2015-08-12 10:47:06 回复(0)
更多回答
hasOwnProperty: 是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。
isPrototypeOf : 是用来判断要检查其原型链的对象是否存在于指定对象实例中,是则返回true,否则返回false。
发表于 2015-09-20 15:07:01 回复(43)
hasOwnProperty: 是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。
isPrototypeOf : 是用来判断要检查其原型链的对象是否存在于指定对象实例中,是则返回true,否则返回false。
发表于 2022-07-23 14:00:41 回复(0)
发表于 2017-09-22 14:26:58 回复(0)
hasOwnProperty:从字面上理解,是属于自己私有的属性,不是公共的。因此,只能是检测实例自己的属性,不能是原型对象上的属性。
hasPrototypeProperty:从字面上就可以知道是检测原型对象上的属性。
编辑于 2016-05-18 21:56:30 回复(0)

Object对象的问题

名字 详细解释 简单理解
属性
constructor 指向Object构造函数 构造用
proto 指向原型对象 原型链
静态方法
assign 通过复制一个或者多个对象,创建一个对象 浅拷贝
create 使用指定的原型对象和属性创建一个新对象
defineProperty 给对象添加一个属性并指定该属性的配置 数据劫持
keys 返回一个包含所有给定对象自身可枚举属性名称是数组
values 返回给定对象自身可枚举的数组
实例方法
hasOwnProperty 返回一个布尔值,看对象自身是否包含指定属性
isPrototypeOf 返回一个布尔值,看当前对象是否在指定对象的原型链上
toString 返回字符串,懂得都懂
发表于 2022-03-06 16:03:28 回复(0)
属性检测:
    in:会向原型链上查找
    hasOwnProperty:属性是否在对象上,不从原型链上查找
发表于 2015-09-28 21:08:20 回复(0)
C
hasOwnProperty检查是本身有没有这个属性。
isPrototypeOf检查是原型链里有没有这个属性。
发表于 2015-05-29 09:51:26 回复(0)
hasOwnProperty:从字面上理解,是属于自己私有的属性,不是公共的。因此,只能是检测实例自己的属性,不能是原型对象上的属性。 hasPrototypeProperty:从字面上就可以知道是检测原型对象上的属性。
发表于 2020-11-18 23:28:31 回复(0)
ps:  ①
hasOwnProperty:从字面上理解,是属于自己私有的属性,不是公共的。
hasOwnProperty()方法用来检测一个属性是存在于对象实例中,还是存在于原型中,只有在给定属性存在于对象实例中,才会返回true。
  hasPrototypeProperty:从字面上就可以知道是检测原型对象上的属性。对象位于原型中,则返回true。
for-in    返回能够通过对象访问的、可以枚举的属性(包括实例中的属性和原型中的属性)
  keys       返回对象上的所有可以枚举的、实例属性
 forEach 是数组中用法
发表于 2017-03-30 23:26:36 回复(0)
 hasOwnProperty()方法用来检测一个属性是存在于对象实例中,还是存在于原型中,只有在给定属性存在于对象实例中,才会返回true。
编辑于 2015-11-04 16:55:44 回复(0)
hasOwnProperty(property)判断对象是否有某个特定的属性。必须用字符串指定该属性。(例如,o.hasOwnProperty("name"))IsPrototypeOf(object)判断该对象是否为另一个对象的原型。
发表于 2015-06-05 23:42:37 回复(0)
c
发表于 2015-05-28 21:23:26 回复(0)
A
发表于 2015-05-28 16:40:29 回复(0)
hasOwnProperty    自身对象属性
isPrototypeOf     检查其原型链是否存在对象实例中

发表于 2020-04-21 11:17:11 回复(0)

hasOwnProperty和isPrototypeOf是JavaScript中的两个方法,用于判断对象之间的属性和原型关系。它们的区别如下:

  • hasOwnProperty是Object.prototype的一个方法,用于检查对象是否具有指定的自有属性,即不是从原型链上继承的属性。它接受一个字符串或符号作为参数,返回一个布尔值。例如:
const obj = {a: 1, b: 2};
obj.hasOwnProperty("a"); // true
obj.hasOwnProperty("c"); // false
obj.hasOwnProperty("toString"); // false,toString是继承自Object.prototype的
  • isPrototypeOf是Object.prototype的一个方法,用于检查一个对象是否存在于另一个对象的原型链上。它接受一个对象作为参数,返回一个布尔值。例如:
const obj1 = {a: 1, b: 2};
const obj2 = Object.create(obj1); // obj2的原型是obj1
const obj3 = Object.create(obj2); // obj3的原型是obj2

obj1.isPrototypeOf(obj2); // true
obj1.isPrototypeOf(obj3); // true,obj1也是obj3的原型
obj2.isPrototypeOf(obj3); // true
obj3.isPrototypeOf(obj2); // false

总结来说,hasOwnProperty和isPrototypeOf都是用于判断对象之间的关系的方法,但它们的侧重点不同。hasOwnProperty主要用于判断对象是否具有自有属性,而isPrototypeOf主要用于判断对象是否存在于原型链上。

发表于 2023-10-09 23:00:05 回复(0)
Own自己的
发表于 2023-09-15 23:59:32 回复(0)
hasOwnProperty:用于判断object是否具有某个属性(包括不可枚举的属性)
发表于 2022-02-08 10:38:14 回复(0)
记录
发表于 2020-06-28 18:02:03 回复(0)
判断对象是否具有某中属性
发表于 2019-05-01 11:20:21 回复(0)