如何在javascript中检查一个值是否为原型值
How to check if a value in this is a prototype value in javascript?
我有以下代码:
function test() {
this.a = 5;
this.b = 6;
}
test.prototype.b = 10;
test.prototype.c = 12;
var example = new test();
我怎么知道example.something
:
。在函数对象中只有一个值?
B。在原型中只有一个值?
C。在函数对象和原型中都有一个值?
你可以测试这个原型,看看这个值是否在原型中指定了:
example.constructor.prototype.b
或
Object.getPrototypeOf(example).b
你可以测试属性是否直接在对象本身上(例如,不是继承的或在直接原型上):
example.hasOwnProperty("b")
您可以使用Object.keys
方法检查对象及其原型中的属性。
function test() {
this.a = 5;
this.b = 6;
}
test.prototype.b = 10;
test.prototype.c = 12;
var example = new test();
console.log(Object.keys(example));
console.log(Object.keys(example.__proto__));
下面的代码显示:
function test() {
this.a = 5;
this.b = 6;
}
test.prototype.b = 10;
test.prototype.c = 12;
var example = new test();
for (prop of ['a', 'b', 'c']) {
if (example.hasOwnProperty(prop)) console.log(prop + ' is owned by the object');
if (test.prototype.hasOwnProperty(prop)) console.log(prop + ' is owned by the object prototype');
}
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 是否可以使用JavaScript/AAJAX在客户端创建一个文件
- 是否可以仅通过jQuery将图像替换为用户动态选择的另一个图像
- 是否<asp:文本框>有一个onFocusLost事件
- 如何建立一个网页,检查我的路由器网络接口是否可以访问
- 是否可以创建一个带有进度条的跨浏览器AJAX照片上传器
- 检查搜索结果是否存在多次如果是,则在Javascript中只显示一个结果
- 尝试使用Javascript正则表达式来获取“&"分隔文本,无论它是否's是最后一个值
- PayPal按钮是否有一个简单的选项,其中金额基于一些用户输入
- 调试一个简单的jQuery函数;想知道是否与其他代码冲突
- 一个jquery验证器方法,它不接受纯数字或纯特殊字符,但接受上面是否有字母
- 如何检查一个字符串的所有字符是否都存在于另一个字符串中
- 尝试简化检查对象键是否为true并将其推送到另一个对象
- JQuery是否有一个“;移动“;作用或者有没有一种更紧凑的方法来做到这一点
- 检查 li 中的一个是否没有类
- 卡在检查两个复选框中的任何一个是否被选中
- 确定两个字符串中的一个是否是另一个StringJavascript的子字符串
- Jquery 选项卡.检查它们中的任何一个是否处于打开状态