Javascript函数:将字符串附加到对象并返回对象值
我需要得到mousedown事件的X位置或Y位置。 因此,我尝试向getPosition函数传递一个参数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,
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相比,这种方法有什么缺点吗?就性能而言,括号表示法似乎稍慢一些。但是,如果你能测量两者之间的差异,而不是连续数百万次地称之为差异,那就更好了。