Javascript 我想把这两个函数放在一个函数中
这两个语句是相同的,我想做一个与之等价的语句 换句话说,我想把这些代码的快捷方式作为一个函数Javascript 我想把这两个函数放在一个函数中,javascript,html,function,Javascript,Html,Function,这两个语句是相同的,我想做一个与之等价的语句 换句话说,我想把这些代码的快捷方式作为一个函数 function chose1() { if (document.getElementById("Button1").click = true) { if (document.getElementById('Button1').value == "") { document.getElementById('Butt
function chose1() {
if (document.getElementById("Button1").click = true) {
if (document.getElementById('Button1').value == "") {
document.getElementById('Button1').value += nextTurn;
document.getElementById('Button1').style.fontSize = "30px";
document.getElementById('Button1').style.color = 'Blue';
if (document.getElementById('Button1').value == "O") {
document.getElementById('Button1').style.color = 'Red'
}
changeTurn();
}
}
}
function chose2() {
if (document.getElementById("Button2").click = true) {
if (document.getElementById('Button2').value == "") {
document.getElementById('Button2').value += nextTurn;
document.getElementById('Button2').style.fontSize = "30px";
document.getElementById('Button2').style.color = 'Blue';
if (document.getElementById('Button2').value == "O") {
document.getElementById('Button2').style.color = 'Red'
}
changeTurn();
}
}
}
然后使用id
代替“Button1”或“Button2”;问之前你找过吗
function chose(id) {
var btn = document.getElementById(id)
if (btn.click = true) {
if (btn.value == "") {
btn.value += nextTurn;
btn.style.fontSize = "30px";
btn.style.color = 'Blue';
if (btn.value == "O") {
btn.style.color = 'Red'
}
changeTurn();
}
}
chose("Button1");
chose("Button2");
然后使用id
代替“Button1”或“Button2”;问之前你找过吗
function chose(id) {
var btn = document.getElementById(id)
if (btn.click = true) {
if (btn.value == "") {
btn.value += nextTurn;
btn.style.fontSize = "30px";
btn.style.color = 'Blue';
if (btn.value == "O") {
btn.style.color = 'Red'
}
changeTurn();
}
}
chose("Button1");
chose("Button2");
这是一个解决方案,不仅可以将两个函数合并为两个,还可以查看在一个函数中访问dom元素(如document.getElementById()
)的次数,这会导致性能下降。
将引用存储在变量中并重用它。像
var btn = document.getElementById(id)
这是一个解决方案,不仅可以将两个函数合并为两个,还可以查看在一个函数中访问dom元素(如document.getElementById()
)的次数,这会导致性能下降。
将引用存储在变量中并重用它。像
var btn = document.getElementById(id)
这叫做重构。这个世界有很多关于它的好书 你可以做:
function chose(button) {
clickedButton = document.getElementById(button);
if (clickedButton.click = true) {
if (clickedButton.value == "") {
clickedButton.value += nextTurn;
clickedButton.style.fontSize = "30px";
clickedButton.style.color = 'Blue';
if (clickedButton.value == "O") {
clickedButton.style.color = 'Red'
}
changeTurn();
}
}
}
这叫做重构。这个世界有很多关于它的好书 你可以做:
function chose(button) {
clickedButton = document.getElementById(button);
if (clickedButton.click = true) {
if (clickedButton.value == "") {
clickedButton.value += nextTurn;
clickedButton.style.fontSize = "30px";
clickedButton.style.color = 'Blue';
if (clickedButton.value == "O") {
clickedButton.style.color = 'Red'
}
changeTurn();
}
}
}
您可以重构成一个接受变量(按钮id)的方法。我给你一个建议,这会给你一个更好的 组织和绩效是分配一个变量,其结果为:document.getElementById(button_id),而不是在每一行进行此评估 可以加上一个变量
function _buttonChoser(button_id) {
var button_element = document.getElementById(button_id);
if (button_element.click = true) {
if (button_element.value == "") {
button_element.value += nextTurn;
button_element.style.fontSize = "30px";
button_element.style.color = 'Blue';
if (button_element.value == "O") {
button_element.style.color = 'Red'
}
changeTurn();
}
}
};
function chose1() {
_buttonChoser('Button1')
};
function chose2() {
_buttonChoser('Button2')
};
您可以重构成一个接受变量(按钮id)的方法。我给你一个建议,这会给你一个更好的 组织和绩效是分配一个变量,其结果为:document.getElementById(button_id),而不是在每一行进行此评估 可以加上一个变量
function _buttonChoser(button_id) {
var button_element = document.getElementById(button_id);
if (button_element.click = true) {
if (button_element.value == "") {
button_element.value += nextTurn;
button_element.style.fontSize = "30px";
button_element.style.color = 'Blue';
if (button_element.value == "O") {
button_element.style.color = 'Red'
}
changeTurn();
}
}
};
function chose1() {
_buttonChoser('Button1')
};
function chose2() {
_buttonChoser('Button2')
};
非常感谢这是完美的。谢谢你们所有人的努力。非常感谢这是完美的。谢谢你们所有人的努力。