如何使用参数调用java脚本函数,其中参数来自字符串变量
How to call java-script function with parameters where comes from a string variable
My javascript
有12个以上的函数,所有函数都调用以下函数。
address_bar(gender, age_min, age_max, religion, country, address, zip-code, telephone);
我的问题是,是否可以按如下方式调用此函数。
var string = 'gender, age_min, age_max, religion, country, address, zip-code, telephone';
将每个函数调用为
address_bar(string); //not working
我得到参数的未定义变量错误。
另一种方法是将它们放在类似的数组中
var args = [gender, age_min, age_max, religion, country, address, zip-code, telephone];
address_bar.apply(null,args)
您可以通过逗号将字符串拆分为一个数组,然后通过apply
将结果参数传递到函数中,但需要注意的是:所有参数都是字符串,因此如果您需要区分数字和字符串,则需要另一步根据您期望的类型循环并解析结果。您还必须小心确保预期值中没有逗号,否则会过早地拆分结果。
下面是一个最基本的例子:
address_bar.apply(null, string.split(','));
如果不修改函数,就不能将它们作为一个字符串传递,至少有3个选项。
1) 更改您的函数以接受一个字符串:
function adress_bar(string){
//split string and do soemthign with data;
}
adress_bar(string);
2) 更改/拆分您试图"推送"到以下功能中的数据:
var gender = 'gender', age_min = "age_min", ... , telephone = "telephone";
然后用这些变量中的每一个运行函数:
adress_bar(gender, age_min, ... , telephone);
3) 将参数组成数组或对象,并将它们作为一个整体传递。
var array = ["gender", "age_min", "age_max", "religion", "country", "address", "zip-code", "telephone"];
function address_bar(some_array){
//do something with some_array
}
address_bar(array);
这正是您想要的:
var x = [ 'gender', 'age_min', 'age_max', 'religion', 'country', 'address', 'zip-code', 'telephone' ];
address_bar.apply(this, x);
你可以在这里阅读更多关于应用的信息:
相关文章:
- 从查询字符串参数推断出正确的数据类型
- 如何使用JQuery在HTML中创建包含字符串参数的引号的onclickjavascript链接
- 从带参数的字符串变量调用函数中的函数
- Javascript:用while循环在给定的count参数中重复一个字符串
- 如何格式化match()参数以定位电子邮件中的字符串
- 将JSON字符串转换为函数参数
- 如何用javascript替换Jquery字符串上的新参数
- 模版启动错误-类型错误(“参数”url'必须是字符串,而不是“+类型的url”)
- 在 URL 字符串中传递参数字符串
- 如何在附加的 html 中的字符串上连接 javascript 函数中的参数字符串
- jQuery:从参数字符串设置表单状态
- 使用 cookie 传递 URL 参数字符串
- 寻找一个正则表达式来解析 JS 的参数字符串
- 有必要限制node.js中GET请求参数字符串的大小吗
- 使用jquery获取javascript中的参数字符串
- 使用JavaScript更改url参数字符串
- 如何在提交GET表单后将变量插入到生成的url参数字符串中
- JavaScript:向JavaScript函数发送以逗号分隔的参数字符串
- 无法通过XMLHttpRequest发送参数字符串
- 从Javascript中获取url参数字符串