2016-01-16 29 views
0

如何使函數中的數組具有運行選項。 這是聲明:函數中的數組jquery

$(".object").myfunction({ 
    run1: 'spell', 
    run2: true 
}); 

這裏是功能:

$.fn.myfunction= function() { 
    alert(run1); 
}; 

如何從警告聲明RUN1或RUN2?

+0

你爲什麼要這麼做?爲什麼你添加功能的基礎jQuery對象,如果功能*不*使用對象? – Amit

+0

@Amit這只是一個例子,我正在構建更多:) – Mergars

回答

1

添加對象的函數接收

$.fn.myfunction= function(params) { 
    alert(params.run1); 
}; 
+1

@Mergars,是調用之前還是之後的函數聲明? – JNF

+0

你能告訴我,沒有參數或帶參數的法術功能嗎(1頁2個功能)它不適用於你的結果。 – Mergars

+1

JavaScript不能以您建議的方式重載函數。如果你嘗試 - 只有最後一個會起作用。你可以做什麼 - 檢查你收到了什麼,例如'if(params === undefined){/ *代碼沒有參數* /} else {/ *代碼與參數* /}' – JNF

1

我的建議是:

$.fn.myfunction= function(obj, key) { 
 
    alert(obj[key]); 
 
    /***** 
 
      $.each(obj, function(index, element) { 
 
       alert("Key: " + index + " Value: " + element); 
 
      }); 
 
      *****/ 
 
}; 
 
$(function() { 
 
    $(".object").myfunction({ 
 
    run1: 'spell', 
 
    run2: true 
 
    }, 'run1'); 
 
});
<script src="http://code.jquery.com/jquery-1.11.3.js"></script> 
 

 

 
<button class="object" style="visibility:hidden">Click Me</button>

+0

這是有效的,但不好的方法。謝謝 – Mergars

+0

@Mergars非常感謝。我更新了我的摘錄。 – gaetanoM

+0

沒問題,但是你只用2個參數創建了函數。再次感謝:) – Mergars