如何检查其中的值是否是javascript中的原型值?

如何检查其中的值是否是javascript中的原型值?,javascript,object,prototype,Javascript,Object,Prototype,我有以下代码: function test() { this.a = 5; this.b = 6; } test.prototype.b = 10; test.prototype.c = 12; var example = new test(); 我如何确定是否有示例。某物: A.函数对象中只有一个值 B.在原型中只有一个值 C.在函数对象和原型中都有一个值?您可以测试原型,看看是否在原型中指定了以下值: example.constructor.prototype.b

我有以下代码:

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

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

var example = new test();

我如何确定是否有
示例。某物


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

B.在原型中只有一个值


C.在函数对象和原型中都有一个值?

您可以测试原型,看看是否在原型中指定了以下值:

example.constructor.prototype.b

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


您可以测试原型,查看是否在原型中指定了以下值:

example.constructor.prototype.b

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


您可以使用
object.keys
方法检查对象及其原型中的属性

功能测试(){
这个a=5;
这个b=6;
}
试验。原型。b=10;
test.prototype.c=12;
var示例=新测试();
log(Object.keys(示例));

console.log(Object.keys(例如proto))
您可以使用
object.keys
方法检查对象及其原型中的属性

功能测试(){
这个a=5;
这个b=6;
}
试验。原型。b=10;
test.prototype.c=12;
var示例=新测试();
log(Object.keys(示例));

console.log(Object.keys(例如proto))此代码揭示了以下内容:

功能测试(){
这个a=5;
这个b=6;
}
试验。原型。b=10;
test.prototype.c=12;
var示例=新测试();
(代表['a'、'b'、'c']的){
如果(例如.hasOwnProperty(prop))console.log(prop+'由对象')拥有;
if(test.prototype.hasOwnProperty(prop))console.log(prop+'属于对象原型');

}
此代码揭示了以下内容:

功能测试(){
这个a=5;
这个b=6;
}
试验。原型。b=10;
test.prototype.c=12;
var示例=新测试();
(代表['a'、'b'、'c']的){
如果(例如.hasOwnProperty(prop))console.log(prop+'由对象')拥有;
if(test.prototype.hasOwnProperty(prop))console.log(prop+'属于对象原型');

}
“函数对象中只有一个值?”---这是什么意思?如果您指的是函数对象,那么这是一个很容易误导的术语。唯一的功能(对象)是测试。我的意思是测试。上面例子的答案应该是:A:example.A,B:example.c,c:example.B。但是我如何用js代码来确定呢?您可以使用来查看属性是否位于对象上。如果它有属性但不是自己的属性,则必须继承它。“在函数对象中只有一个值?”---这是什么意思?如果你指的是函数对象,那么这是一个很容易误导的术语。唯一的功能(对象)是测试。我的意思是测试。上面例子的答案应该是:A:example.A,B:example.c,c:example.B。但是我如何用js代码来确定呢?您可以使用来查看属性是否位于对象上。如果它有财产,但它不是自己的财产,它必须被继承。谢谢,这正是我所需要的!谢谢,这正是我需要的!对象可以从多个原型继承,例如toString通常从Object.prototype继承,而不是从构造函数的原型继承。对象可以从多个原型继承,例如toString通常从Object.prototype继承,而不是从构造函数的原型继承。
example.hasOwnProperty("b")