[英]Can I pass a value out of a javascript function?
Can I pass a value out of a javascript function and back to the calling function, eg 我可以将值从javascript函数传递出去并返回给调用函数,例如
function updateURL(url, name, param) {
url = url + "&" + name + "=" + param;
}
I want to update url and return the new value. 我想更新网址并返回新值。
Is this possible? 这可能吗?
What you're asking for is called " pass-by-reference ". 您要的是所谓的“ 传递参考 ”。 Javascript uses " pass-by-value " for the native types (int, string, etc)---other types are pass-by-reference. Javascript对本机类型(int,字符串等)使用“ 传递值 ” ---其他类型是按引用传递。 For your specific case, I can think of two ways to get what you want. 对于您的特定情况,我可以想到两种获取所需内容的方法。 The first is to require callers to pass in an array with a single element and modify that element: 第一种是要求调用者传递带有单个元素的数组并修改该元素:
function updateURL(url, name, param) {
url[0] = url[0] + "&" + name + "=" + param;
}
url = ['http://www.google.com/?'];
updateURL(url, 'foo', 'bar');
alert(url[0]);
The second method would be to use an attribute on an object: 第二种方法是在对象上使用属性:
function updateURL(url, name, param) {
url.url = url.url + "&" + name + "=" + param;
}
url = new Object();
url.url = 'http://www.google.com/?';
updateURL(url, 'foo', 'bar');
alert(url.url);
function parentFunction() {
var url = 'http://www.example.com?qs=1';
var name = 'foo';
var param= 'bar';
var newUrl = updateURL(url, name, param);
}
function updateURL(url, name, param) {
url = url + "&" + name + "=" + param;
return url;
}
var myUrl = updateUrl('url', 'name', 'param');
function updateURL(url, name, param) {
url = url + "&" + name + "=" + param;
return url;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.