可以说如果我有一个功能a。我想知道它的内置功能或用户定义的功能。
我试过检查a.toString()是否有[native code]
,但是具有子字符串[native code]
的用户定义函数会失败。有没有更好的方法来做到这一点?如何查找功能是否内置功能或用户定义
回答
所以,这里的一些代码来检查:
var rgx = /\[native code\]\s*\}\s*$/;
function some(){
'[native code]'
}
console.log(
rgx.test(print.toString()),
rgx.test(some.toString())
);
我已经使用过'some.toString()。indexOf('[native code]',some.toString()。length - '[native code]'。length)!== -1 '测试它..使用正则表达式好像也不错 – everconfusedGuy
你的代码是否可以使用内置函数?当你查看字符串化函数的结尾时,但它以'[native code]}结尾'而且在IE中有新行'[native code]'和'}',所以正则表达式也可以处理它。祝你好运! – tenbits
一个,也许是天真的,方法是将测试功能名称中是否存在该文件的属性:
function newFunction(){
return true;
}
console.log('newFunction' in document, 'toString' in document);
这,当然,不详尽测试,如果没有失败功能被创建为一个prototype
的延伸,例如:
function newFunction(){
return true;
}
Object.prototype.newFunctionName = function() {
return 10 * 2;
};
console.log('newFunction' in document, 'toString' in document, 'newFunctionName' in document); // false, true, true
鉴于它也失败了'eval' in document
(在它返回false
),那么这将或可以,只有合作,以确定对象的原型方法。充其量,这是一个不完整的解决方案。
'eval'在文档中返回false – everconfusedGuy
不幸的是,我很尴尬,承认我有没有更好的想法... :( –
- 1. 查看或用户定义的功能?
- 2. 如何定义查找功能?
- 3. jQuery - 检查功能是否定义
- 4. 不同的Vim高亮组用户自定义功能和内置功能
- 5. 如何定义内嵌或内部警报功能,这是定义大多在Flex中单独的功能?
- 6. os x自定义字典或自定义查找功能
- 7. 否定功能的功能
- 8. 查找功能定义在具有:块
- 9. 用户定义的功能是“暂停”状态是否正常?
- 10. 查找功能
- 11. 重新定义内置功能
- 12. 定义内部功能
- 13. 是否有类(功能,方法等或任何功能)像下面的功能?
- 14. 测试是否定义了Sass功能
- 15. 如何定义零功能?
- 16. 什么决定是否调用“成功”或“错误”功能?
- 17. 定义功能
- 18. 如何在Volt(Phalcon)中设置用户定义的功能
- 19. 如何检查用户是否具有WordPress的'manage_options'功能?
- 20. 查找多余的用户功能
- 21. 功能是未定义
- 22. 如何使用我的自定义功能切换此功能
- 23. 如何使一个功能,让用户作出是/否决定
- 24. 我可以使用此自定义功能替换内置的pow功能吗?
- 25. jquery查找功能
- 26. TSQL查找功能
- 27. 查找“卡”功能
- 28. VBA查找功能
- 29. 查找根/功能
- 30. ffplay查找功能
_Custom_功能'的toString()'不能结束'[本地代码]}',否则函数(源)会因语法错误编译。 – tenbits
哦,这是有道理..guess我应该有更多的想法 聚苯乙烯 - 我可以接受它,如果发布这是一个答案 – everconfusedGuy