我有一个功能:
jQuery('#'+'linkhere').click(getHashPageClick);
并在函数中我正在重新审视window.location.hash值:
var getHashPageClick = function(evt) {
var hashParam = window.location.hash.substring(1);
}
但是现在我想向getHashPageClick()发送一个参数,比如说值,将hashParam值附加到它并在我的调用函数中访问它?也许这样的事情呢? :
jQuery('#'+'linkhere').click(getHashPageClick(value);
alert("value");
并在被调用函数中修改值的值:
var getHashPageClick = function(evt,value) {
var hashParam = window.location.hash.substring(1);
valuevalue+hashParam;
return value;
}
这是可以接受的,还是有不同的方式通过引用发送参数,以便在调用函数中可以访问它,并且应该反映修改后的值?因为这种方式对我来说似乎不对。任何帮助,将不胜感激。感谢。
答案 0 :(得分:3)
您无法在JavaScript中通过引用传递值,但您可以传递已经是引用的内容。例如,您可以使用对象文字来模拟指针:
function getHashPageClick(p) {
p.value = p.value + window.location.hash.substring(1);
}
var p = { value: 'some value' };
getHashPageClick(p);
答案 1 :(得分:1)
以下是我如何设置您正在寻找的功能:
jQuery(document).ready(function(){
var value = 'some value';
jQuery('#linkhere').click(function(){
value = getHashPageClick(value);
alert('the value is now: '+value);
});
});
var getHashPageClick(value) {
var hashParam = window.location.hash.substring(1);
value = value+hashParam;
return value;
}
或者,如果您不想只使用一个'value'变量,请创建两个变量以协同工作:
jQuery(document).ready(function(){
var value = 'some value';
jQuery('#linkhere').click(function(){
hashValue = getHashPageClick(value);
alert('the hash value is now: '+hashValue);
});
});
var getHashPageClick(value) {
var hashParam = window.location.hash.substring(1);
var hashValue = value+hashParam;
return hashValue;
}
希望这有帮助。