原型中的函数列表
List of functions in the prototype
我希望能够获得不同JavaScript对象上的函数列表,但特别是字符串和其他原语。我想我可以用String。原型并神奇地获得原型中的函数列表,但没有骰子。什么好主意吗?
我也尝试使用下划线。例如
_.functions("somestring");
…不适合我
可以使用getOwnPropertyNames,它返回所有属性的数组,可枚举或不可枚举
Object.getOwnPropertyNames(String.prototype)
小提琴
如果你只需要函数(我想这只会排除length
?)你可以过滤
var fns = Object.getOwnPropertyNames(String.prototype).filter(function(itm) {
return typeof String.prototype[itm] == 'function';
});
小提琴
实际问题是,原语原型的成员是不可枚举的。因此,我们必须使用Object.getOwnPropertyNames
,它甚至会给出不可枚举的属性,来获得它们。
你可以写一个实用函数,像这样
function getFunctions(inputData) {
var obj = inputData.constructor.prototype;
return Object.getOwnPropertyNames(obj).filter(function(key) {
return Object.prototype.toString.call(obj[key]).indexOf("Function") + 1;
});
}
console.log(getFunctions("Something"));
console.log(getFunctions(1));
过滤所有的Function对象属性,并以Array的形式返回。
相关文章:
- Javascript通过列表项的函数和css来更改背景颜色
- 从javascript调用服务器端的下拉列表onchange函数
- 如何创建背景图像列表'URL,并使用jQuery在单击函数时应用它们
- 创建自定义函数以在函数上运行完整的多选下拉列表
- 是否可以在javascript函数参数列表中调用多个函数
- 为数组Jquery/Javascript创建一个列表函数
- 如何使用 couchdb 列表函数从 couchdb 视图结果中获取特定字段
- 如何在 SharePoint 上向此淘汰 JavaScript 添加额外的列表函数
- 语法错误:缺少参数列表函数 () {.
- XPages中的列表函数
- “compilation_error”在我的 CouchDB 设计文档中的列表函数中
- 是否可以在coucdhb列表函数中包含外部javascript代码
- 如何在列表函数中修复此闭包
- 在jquery对象的集合上使用underscore.js列表函数
- 调用couchdb中的另一个列表函数
- 返回和保留选择的下拉列表函数
- 数据库中的列表函数得到一个表达式不会计算为函数错误
- 使用本地存储的可排序列表函数出错
- 如何在列表函数中导入Javascript库
- jQuery播放列表函数错误:函数未定义