所以我用if语句得到了这两个函数,它们做同样的事情。
检查输入字段的值是否为空。 if(newTask.value === '')
var newTask = document.getElementById("new-task");
newTask.addEventListener("keyup", function(event) {
event.preventDefault();
if(event.keyCode == 13){
if(newTask.value === ''){
alert('Fill in a task.');
} else{
addTask(newTask.value);
}
}
});
newTaskBtn.onclick = function() {
if(newTask.value === ''){
alert('Fill in a task.');
} else{
addTask(newTask.value);
}
};
使我的代码更有效率的推荐方法是什么?
其他任何想法都非常受欢迎。
答案 0 :(得分:1)
您可以编写一个执行任务检查的函数。例如:
var newTask = document.getElementById("new-task");
function checkTask(taskValue) {
if(taskValue === ''){
alert('Fill in a task.');
} else{
addTask(taskValue);
}
}
newTask.addEventListener("keyup", function(event) {
event.preventDefault();
if(event.keyCode == 13){
checkTask(newTask.value);
}
});
newTaskBtn.onclick = function() {
checkTask(newTask.value);
};
答案 1 :(得分:0)
你的代码很好。有一些重复,但两个函数都有不同的前提条件,因为密钥必须检查密钥。添加另一级函数调用将使代码的可读性降低。我只是改变结构以使用早期回报,如下所示:
var newTask = document.getElementById("new-task");
newTask.addEventListener("keyup", function(event) {
event.preventDefault();
if (event.keyCode !== 13) {
return;
}
if (newTask.value === '') {
alert('Fill in a task.');
return;
}
addTask(newTask.value);
});
newTaskBtn.onclick = function() {
if (newTask.value === '') {
alert('Fill in a task.');
return;
}
addTask(newTask.value);
};