使用相同的命名参数调用变量
Call Variable with a equal named parameter
我想创建一个用于在网站上重定向的脚本,但目前收效甚微:D
我的想法是像这样创建一些数组:
var google = [
Google Searching,
http://www.google.com/
]
var amazon = [
Amazon Shopping
http://www.amazon.com/
]
此外,我想编写一个函数来创建一个带有一些信息和重定向的模式框。没问题,但我不知道如何用参数调用这个数组。
例如:
gotoWebsite(google);
function gotoWebsite (website){
//search array "google" with the paramter
alert (google[0]);
alert (google[1]);
}
这个例子应该提醒 Google Searching
和 http://www.google.com/
问题:如何调用具有相等命名参数的数组?
不确定我是否理解你的问题,但这是该怎么做。首先,您的引号 „
和 “
可能有问题,如您的 post 所示,请使用 "
(双引号)或 '
(单引号)。
现在来解决你的问题。你需要创建一个容器object()
,让它成为websites
如下
var websites = {};
然后将您的网站对象*放入 websites
对象中,例如
var websites = {
google: {
name: "Google",
url: "https://www.google.com"
},
amazon: {
name: "Amazon",
url: "https://www.amazon.com"
}
/* More objectes */
}
现在我们有了一个可以使用的对象 key
,但我们需要将其包装在一个函数中。如果您遇到问题,例如
,您可以将 websites
对象移动到 gotoWebsite()
范围
websites is undefined
function gotoWebsite(website){
console.log(websites[website]['name']); // Google
console.log(websites[website]['url']); // http://www.google.com
// OR get current key for passed parameter and assign to a variable
var website = websites[website];
console.log(website['name']); // Google
console.log(website['url']); // http://www.google.com
}
用法:
gotoWebsite('google');
// Google
// http://www.google.com
这是一个活生生的例子,跟踪 Web Console
以查看输出
var websites = {
google: { name: "Google", url: "https://www.google.com" },
amazon: { name: "Amazon", url: "https://www.amazon.com" }
}
function gotoWebsite(website){
var website = websites[website];
console.log(website['name']);
console.log(website['url']);
}
gotoWebsite('google');
gotoWebsite('amazon');
如果您正在寻找一种动态定义可以 linked 的网站的方法,我建议从一个数组开始,然后使用一个函数将元素添加到该数组:
var websites = [];
function newWebsite(name,title,url) {
websites[name] = [ title, url ];
}
然后 goto 函数应该有一个子句来处理尝试 link 尚未定义的站点:
function gotoWebsite (website){
var site = websites[website];
if (site === "array") {
alert (site[0]);
alert (site[1]);
} else {
alert ("unknown website: " + website);
}
}
站点可以从任何具有函数访问权限的脚本中注册:
newWebsite("google","Google Searching","http://www.google.com/");
newWebsite("amazon","Amazon Shopping","http://www.amazon.com/");
然后 goto 函数可以通过名称获取站点
gotoWebsite("google");
我想创建一个用于在网站上重定向的脚本,但目前收效甚微:D
我的想法是像这样创建一些数组:
var google = [
Google Searching,
http://www.google.com/
]
var amazon = [
Amazon Shopping
http://www.amazon.com/
]
此外,我想编写一个函数来创建一个带有一些信息和重定向的模式框。没问题,但我不知道如何用参数调用这个数组。
例如:
gotoWebsite(google);
function gotoWebsite (website){
//search array "google" with the paramter
alert (google[0]);
alert (google[1]);
}
这个例子应该提醒 Google Searching
和 http://www.google.com/
问题:如何调用具有相等命名参数的数组?
不确定我是否理解你的问题,但这是该怎么做。首先,您的引号 „
和 “
可能有问题,如您的 post 所示,请使用 "
(双引号)或 '
(单引号)。
现在来解决你的问题。你需要创建一个容器object()
,让它成为websites
如下
var websites = {};
然后将您的网站对象*放入 websites
对象中,例如
var websites = {
google: {
name: "Google",
url: "https://www.google.com"
},
amazon: {
name: "Amazon",
url: "https://www.amazon.com"
}
/* More objectes */
}
现在我们有了一个可以使用的对象 key
,但我们需要将其包装在一个函数中。如果您遇到问题,例如
websites
对象移动到 gotoWebsite()
范围
websites is undefined
function gotoWebsite(website){
console.log(websites[website]['name']); // Google
console.log(websites[website]['url']); // http://www.google.com
// OR get current key for passed parameter and assign to a variable
var website = websites[website];
console.log(website['name']); // Google
console.log(website['url']); // http://www.google.com
}
用法:
gotoWebsite('google');
// Google
// http://www.google.com
这是一个活生生的例子,跟踪 Web Console
以查看输出
var websites = {
google: { name: "Google", url: "https://www.google.com" },
amazon: { name: "Amazon", url: "https://www.amazon.com" }
}
function gotoWebsite(website){
var website = websites[website];
console.log(website['name']);
console.log(website['url']);
}
gotoWebsite('google');
gotoWebsite('amazon');
如果您正在寻找一种动态定义可以 linked 的网站的方法,我建议从一个数组开始,然后使用一个函数将元素添加到该数组:
var websites = [];
function newWebsite(name,title,url) {
websites[name] = [ title, url ];
}
然后 goto 函数应该有一个子句来处理尝试 link 尚未定义的站点:
function gotoWebsite (website){
var site = websites[website];
if (site === "array") {
alert (site[0]);
alert (site[1]);
} else {
alert ("unknown website: " + website);
}
}
站点可以从任何具有函数访问权限的脚本中注册:
newWebsite("google","Google Searching","http://www.google.com/");
newWebsite("amazon","Amazon Shopping","http://www.amazon.com/");
然后 goto 函数可以通过名称获取站点
gotoWebsite("google");