簡體   English   中英

Javascript:將參數傳遞給函數以調用變量

[英]Javascript: Passing parameters to a function to call a variable

嘗試增強功能時遇到工作上的麻煩。 我只是對Javascript進行了介紹,所以希望我能找到很多人來幫助我變得更好。 :)

這是我想做的一個例子:

 <script type="text/javascript">

var title1 = "<h2>Cisco</h2>";
var summary1 = "<p>Cool class</p>";
var Register1 = "<button>Register</button>";

var title2 = "<h2>Whatever title</h2>";
var summary2 = "<p>Whatever Summary</p>";
var Register2 = "<button>Whatever Register</button>";

 //But I have to create about 10 functions if I do it this way...
     function course1()
     {
          document.getElementById('courseTitle').innerHTML = title1;
          document.getElementById('courseSummary').innerHTML = summary1;
          document.getElementById('courseRegister').innerHTML = Register1;

     }

     function course2()
     {
          document.getElementById('courseTitle').innerHTML = title2;
          document.getElementById('courseSummary').innerHTML = summary2;
          document.getElementById('courseRegister').innerHTML = Register2;

     }

//So I taught about doing it with parameters so I could only build one function. 
//For some reason it doesn't work.


//Here is how my improved function idea looks
     function course(x)
     {
          document.getElementById('courseTitle').innerHTML = title+x;
          document.getElementById('courseSummary').innerHTML = summary+x;
          document.getElementById('courseRegister').innerHTML = Register+x;

     }

//And here is how you would call them

<input type"button" value="course1" onclick="course(1)">
<input type"button" value="course1" onclick="course(2)">

我將不勝感激任何幫助! 謝謝。

您可以使用數組來保存數據:

var data = [{
                title: "<h2>Cisco</h2>",
                summary: "<p>Cool class</p>",
                Register: = "<button>Register</button>"
            },{
                title: "<h2>Whatever title</h2>",
                summary: "<p>Whatever Summary</p>",
                Register: "<button>Whatever Register</button>"
            }];

然后將索引傳遞給函數:

function course( index ) {
  document.getElementById('courseTitle').innerHTML = data[index].title;
  document.getElementById('courseSummary').innerHTML = data[index].summary;
  document.getElementById('courseRegister').innerHTML = data[index].Register;
}

你需要使用一個數組

var globalCourses = [['cisco','cool class','register'],['whatever','whatever sum','whatever reg']];


function course(i){
   var title = globalCourses[i][0];
   var summary = globalCourses[i][1];
   var register = globalCourses[i][2];

  //do what you need with this
  document.getElementById('courseTitle').innerHTML = title;
 //etc
}

因此,只要您想到參數相同的一組數據,就可以使用數組或對象數組。

您還可以執行以下操作:

var globalCourses = [{title:"title",summary:"sum",register:"register"},{title:"another title",summary:"another sum",register:"another register"}];

function course(i){
 var title = globalCourses[i].title;
 var summary = globalCourses[i].summary;
 //etc
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM