Che*_*rub 2 javascript if-statement
我正在尝试在Javascript中找到更好的方法:
if ( text === 'amy' ) {
var url = 'http://www.mydomain.com/amylikescats.html';
}
else if ( text === 'dave' ) {
var url = 'http://www.mydomain.com/daveshome.html';
}
else if ( text === 'steve' ) {
var url = 'http://www.mydomain.com/steve2.html';
}
else if ( text === 'jake' ) {
var url = 'http://www.mydomain.com/jakeeatstofu.html';
}
else {
var url = 'http://www.mydomain.com/noone.html';
}
Run Code Online (Sandbox Code Playgroud)
有没有更有效的方法来做到这一点?'
Jon*_*Jon 13
将对象用作地图:
var map = {
"amy": 'http://www.mydomain.com/amylikescats.html',
"dave": 'http://www.mydomain.com/daveshome.html',
// etc
};
var text = "whatever";
var url = map[text] === undefined ? 'http://www.mydomain.com/noone.html' : map[text];
Run Code Online (Sandbox Code Playgroud)
这将节省您的重复代码的最高金额,但如果你还需要做其他的东西比设定url一个switch可能更合适.
切换声明!
var url = 'http://www.mydomain.com/noone.html';
switch(text) {
case 'amy': url = 'http://www.mydomain.com/amylikescats.html';
break;
case 'dave': url = 'http://www.mydomain.com/daveshome.html';
break;
case 'steve': url = 'http://www.mydomain.com/steve2.html';
break;
case 'jake': url = 'http://www.mydomain.com/jakeeatstofu.html';
break;
}
Run Code Online (Sandbox Code Playgroud)
现在不需要一个default子句,因为你url在切换之前已经初始化了.
否则你可以添加这个:
default: url = 'http://www.mydomain.com/noone.html';
break;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2374 次 |
| 最近记录: |