Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我想把这两个函数放在一个函数中_Javascript_Html_Function - Fatal编程技术网

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')
};

非常感谢这是完美的。谢谢你们所有人的努力。非常感谢这是完美的。谢谢你们所有人的努力。