从javascript中的对象获取所有原型函数
我有一个对象,可以得到其中的所有函数。但是我想用proto添加函数,然后得到所有函数。我该怎么做从javascript中的对象获取所有原型函数,javascript,object,prototype,Javascript,Object,Prototype,我有一个对象,可以得到其中的所有函数。但是我想用proto添加函数,然后得到所有函数。我该怎么做 var myObj = { func1:function(){} }; var myPrototype = { func2: function(){ } }; myObj.__proto__ = myPrototype; alert(Object.getOwnPropertyNames(myObj)); 结果是 func1 但是我想要所有的功能 fun
var myObj = {
func1:function(){}
};
var myPrototype = {
func2: function(){
}
};
myObj.__proto__ = myPrototype;
alert(Object.getOwnPropertyNames(myObj));
结果是
func1
但是我想要所有的功能
func1,func2
我如何才能做到这一点????正如方法名所说,它只会为您提供自己的属性名,而不是继承的属性名
为了得到这些,你也需要将其应用到原型上——事实上,应用到所有原型上。顺便说一句,避免使用该属性
var myPrototype = {
func2: function() {}
};
var myObj = Object.create(myPrototype);
myObj.func1 = function(){};
tnx。
我是通过这个函数来实现的
function getAllMethods(obj) {
var result = [];
for (var id in obj) {
try {
if (typeof(obj[id]) == "function") {
result.push(id + ": " + obj[id].toString());
}
}
catch (err) {
}
}
return result;
}
使用for in循环或Object.keys(myObj.\uuuu proto\uuuu)
function getAllMethods(obj) {
var result = [];
for (var id in obj) {
try {
if (typeof(obj[id]) == "function") {
result.push(id + ": " + obj[id].toString());
}
}
catch (err) {
}
}
return result;
}