javascript - 如何检查 this 中的值是否是 JavaScript 中的原型(prototype)值?

标签 javascript object prototype

我有以下代码:

function test() {
    this.a = 5;
    this.b = 6;
}

test.prototype.b = 10;
test.prototype.c = 12;

var example = new test();


我如何知道example.something:

A. 在函数对象中只有一个值?

B. 在原型(prototype)中只有一个值?

C. 在函数对象和原型(prototype)中都有值吗?

最佳答案

您可以测试原型(prototype)以查看原型(prototype)中是否指定了该值:

example.constructor.prototype.b

Object.getPrototypeOf(example).b 

您可以使用以下方法测试属性是否直接位于对象本身上(例如,不是继承的或位于直接原型(prototype)上):

example.hasOwnProperty("b")

关于javascript - 如何检查 this 中的值是否是 JavaScript 中的原型(prototype)值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39029357/

相关文章:

javascript - 将 jquery 函数连接到 bootstrap 的轮播幻灯片事件

java - "explore"是否有可能在运行时通过反射在另一个对象中定义哪些对象?

Eclipse Neon 中的 Javascript 大纲 - Java EE IDE

javascript - 在.then上添加if条件时如何使用promise?

javascript - javascript 中的 jSTL

javascript - 为什么jQuery或诸如getElementById之类的DOM方法找不到元素?

C++将对象的 vector 复制到另一个

c# - 从 C# 中的动态对象中删除属性及其值

javascript - 在原型(prototype)属性内部或外部声明变量哪个更好?

javascript - 为什么我的 Array.prototype.equals 函数显示为使用 jQuery.extend() 复制的数组中的元素?