在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  HTML/ js構造了一個函數,內部有兩個變量,我調用的時候可以只傳一個進去嗎。

js構造了一個函數,內部有兩個變量,我調用的時候可以只傳一個進去嗎。

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;
            }
        }
    },
回答
編輯回答
安若晴

參數用對象呀 多舒服

function move(obj){}

調用:

obj = {
    first:'',
    modify:''
}
move(obj);
2017年9月5日 12:33
編輯回答
笨小蛋

可以用ES6語法對函數參數傳一個默認值,或者參考白吟靈大佬的方法,在函數中進行判斷

2018年6月1日 14:47
編輯回答
朽鹿

謝邀

我看你 move 里就是調了一下這個modify.y();,如果沒有,就會報錯,那可以先判斷一下mdify是否存在,存在再執(zhí)行 y 方法,這樣就不會拋出錯誤了。

if(mdify){
    modify.y(); //方法
}
2017年6月6日 02:39