Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript函数:将字符串附加到对象并返回对象值_Javascript_Jquery_Function_Parameters - Fatal编程技术网

Javascript函数:将字符串附加到对象并返回对象值

Javascript函数:将字符串附加到对象并返回对象值,javascript,jquery,function,parameters,Javascript,Jquery,Function,Parameters,我需要得到mousedown事件的X位置或Y位置。 因此,我尝试向getPosition函数传递一个参数 function getPosition(event, param) { // expected: var value = event.pageX; var value = event.param; return value; } $('#element').on('mousedown', function(e){ var myValue = getPosition(e,

我需要得到mousedown事件的X位置或Y位置。 因此,我尝试向getPosition函数传递一个参数

function getPosition(event, param) {
  // expected: var value = event.pageX;
  var value = event.param;
  return value;
}

$('#element').on('mousedown', function(e){
  var myValue = getPosition(e, 'pageX');
}

我在这里遗漏了什么?

您需要使用括号表示法:

function getPosition(event, param) {
  // expected: var value = event.pageX;
  var value = event[param];
  return value;
}
如果使用点表示法,浏览器将在
事件
对象上查找名为
param
的属性,该属性不存在。使用括号表示法,浏览器将计算
param
,并在对象上查找该参数


是演示上述代码的小提琴。

这很有效!就性能而言,与使用两个单独的函数getPositionX和getPositionY相比,这种方法有什么缺点吗?就性能而言,括号表示法似乎稍慢一些。但是,如果你能测量两者之间的差异,而不是连续数百万次地称之为差异,那就更好了。