我有一堆输入元素,点击时调用一个函数。它们传递了一堆参数,其中包含有关所点击内容的信息。
像这样:
onClick="updateCart('product_id', 'product_name', 'product_price');"
现在我想创建一个函数,它接受这些参数并将它们放在一个数组中。
var updateCart = function (product_type, product_id, cost_model_id, product_name, subscription_campaign, startup_campaign) {
this.product_row = [];
};
我该怎么做?
答案 0 :(得分:1)
var updateCart = function (product_type, product_id, cost_model_id, product_name, subscription_campaign, startup_campaign) {
this.product_row = [ product_type, product_id, cost_model_id, product_name, subscription_campaign, startup_campaign ];
};
这不是你想要的吗?
检索您刚刚使用的信息时:
this.product_row[0]; //returns product_type
但如果您需要更具可读性的内容,请改用对象:
var updateCart = function (product_type, product_id, cost_model_id, product_name, subscription_campaign, startup_campaign) {
this.product_row = { "productType": product_type, "productID": product_id, "costModelID": cost_model_id, "productName": product_name, "subscriptionCampaign": subscription_campaign, "startupCampaign": startup_campaign };
};
答案 1 :(得分:1)
如上所述,最简单的方法是使用arguments
变量,它将包含所有以类数组格式传递的参数。您应该将其转换为数组,如下所示:
var updateCart = function() {
this.product_row = Array.prototype.slice.call(arguments);
// another way: this.product_row = [].slice.call(arguments);
};