扫码关注官方订阅号
在java或者php中,我们可以通过反射来获取一个函数(方法)的参数列表等具体信息,那么在js中呢?比如下面这这个函数
jsfunction test(a, b, c) { return a + b + c; }
js
function test(a, b, c) { return a + b + c; }
我如何获取test函数的参数列表呢?
小伙看你根骨奇佳,潜力无限,来学PHP伐。
如@kiinlam 所说,只需要用lenth获取参数个数就行了, 补充不是说js不在乎参数名字,几乎没有一门编程语言会在乎形参名字,严格点的编程语言会有类型检测,可以看到js它类型检测都不需要,和php有点类似。
js的函数并不在乎你参数的名字,要查参数名也没意义,它随时都可以变化。你只能从FUNCTION.length获取形参的个数。
function testArguments(argv1, argv2) { for (var i in arguments) { alert(arguments[i]); } }
不知道你要找的是不是arguments这个内置列表.
形参个数:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length
形参名字(不建议,因为 JS 代码通常会压缩和混淆):https://github.com/goatslacker/get-parameter-names
Function.prototype.toString
好吧。。。。
sf好像不能发送私信,我就是想问一下:楼主你这个问题解决了吗?我百度到较为靠谱的方法就是在test.toString()中提取形参列表了,看了一下 王子亭 回答的源码好像也是这种方式。。问问楼主找到其他更为简单的方法了吗?
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
如@kiinlam 所说,只需要用lenth获取参数个数就行了,
补充不是说js不在乎参数名字,几乎没有一门编程语言会在乎形参名字,严格点的编程语言会有类型检测,可以看到js它类型检测都不需要,和php有点类似。
js的函数并不在乎你参数的名字,要查参数名也没意义,它随时都可以变化。你只能从FUNCTION.length获取形参的个数。
不知道你要找的是不是arguments这个内置列表.
形参个数:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length
形参名字(不建议,因为 JS 代码通常会压缩和混淆):https://github.com/goatslacker/get-parameter-names
Function.prototype.toString
好吧。。。。
sf好像不能发送私信,我就是想问一下:楼主你这个问题解决了吗?我百度到较为靠谱的方法就是在test.toString()中提取形参列表了,看了一下 王子亭 回答的源码好像也是这种方式。。问问楼主找到其他更为简单的方法了吗?