为了账号安全,请及时绑定邮箱和手机立即绑定

js构造了一个函数,内部有两个变量,我调用的时候可以只传一个进去吗。

js构造了一个函数,内部有两个变量,我调用的时候可以只传一个进去吗。

慕码人8056858 2019-03-07 14:13:21
js中定义了一个move(first,modify)方法,需要传入first,modify。因为我想重复使用move函数可是有的地方不需要modify,有的地方需要,传空值的话也不行,无法运行。有什么方法能不需要传入固定个数的参数运行嘛。调用function moveTest() {    var first = document.getElementById(id);    var modify = {        y: function () {           statements        }    };   move(first, modify); //这里一定要两个参数不然运行不了。}方法    function move(first, modify) {         first.onmousedown = function (e) {      //把onclick改成onmouseover就是一获得焦点图片就跟随鼠标移动,onmousedown鼠标拖动效果            modify.y(); //方法            var x = e.clientX - first.offsetLeft;            var y = e.clientY - first.offsetTop;            document.onmousemove = function (e) {                var left = e.clientX - x;                var top = e.clientY - y;                first.style.left = left + 'px';                first.style.top = top + 'px';            document.onmouseup = function () {  //鼠标松开时释放函数,如果需要拖至指定位置可在此添加运算逻辑;                document.onmousemove = null;                document.onmouseup = null;            }        }    },
查看完整描述

3 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

参数用对象呀 多舒服


function move(obj){}


调用:


obj = {

    first:'',

    modify:''

}

move(obj);


查看完整回答
反对 回复 2019-03-27
?
MMTTMM

TA贡献1869条经验 获得超4个赞

可以用ES6语法对函数参数传一个默认值,或者参考白吟灵大佬的方法,在函数中进行判断


查看完整回答
反对 回复 2019-03-27
  • 3 回答
  • 0 关注
  • 2016 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信