Javascript 如何更改JS中的布尔值?

Javascript 如何更改JS中的布尔值?,javascript,html,css,dom,boolean,Javascript,Html,Css,Dom,Boolean,我正在尝试制作一个具有两个功能的按钮: function bigfont() {var font_is_small = true if (font_is_small = true) {document.getElementById('one').className= document.getElementById('one').className.replace("font1","font2"); document.getElementById('two').className= documen

我正在尝试制作一个具有两个功能的按钮:

function bigfont()
{var font_is_small = true
if (font_is_small = true)
{document.getElementById('one').className=
document.getElementById('one').className.replace("font1","font2");
document.getElementById('two').className=
document.getElementById('two').className.replace("font1","font2");
document.getElementById('three').className=
document.getElementById('three').className.replace("font1","font2");
document.getElementById('four').className=
document.getElementById('four').className.replace("font3","font4"); 
font_is_small = true;}
if(font_is_small = false)
{document.getElementById('one').className=
document.getElementById('one').className.replace("font2","font1");
document.getElementById('two').className=
document.getElementById('two').className.replace("font2","font1");
document.getElementById('three').className=
document.getElementById('three').className.replace("font2","font1");
document.getElementById('four').className=
document.getElementById('four').className.replace("font4","font3");
font_is_small = true;}}    

但是变量没有改变。有人能帮我吗?

但是你有一个变量font\u总是很小的true,你必须在代码中将它改为false,你不能这样做。

这是你的变量被创建和赋值的地方,你在if(=意味着赋值)中的等价性,你在两个if语句中都将它设置为true。。。试试看

var font_is_small = true;
根据您的使用情况,font_is_small应该是全局的,而不是在函数中传入或创建的

function bigfont() {
  if (font_is_small === true) {
    document.getElementById('one').className="font2":
    document.getElementById('two').className="font2":
    document.getElementById('three').className="font2":
    document.getElementById('four').className="font2":
    font_is_small = false;
  }
  if(font_is_small === false) {
    document.getElementById('one').className="font1":
    document.getElementById('two').className="font1":
    document.getElementById('three').className="font1":
    document.getElementById('four').className="font1":
    font_is_small = true;
  }
}

而且,替代者没有做任何重要的事情。。。我解决了这个问题后,找到了两行格式。。。此赋值更简单、更清晰。

您有一个语法错误:

{var font_is_small = true; //<---- right here you forgot a ;
if (font_is_small == true)//<-- you forgot equal to operators on all if statements

{var font\u is_small=true;//要将布尔值更改为其相反的值,可以使用否定(
),例如
x=!x
表示“将
x
设置为
false
如果它是真的,或者将
设置为true
如果它是假的”。
如果希望函数在小字体和大字体之间切换,最简单的方法是将te变量置于函数外部:


if(font\u is\u small=true)
更改为
if(font\u is\u small==true)
相等比较器是
=
==
在Javascript中也可以看到这篇文章:或者干脆把它删掉。
如果(font\u is\u small){…}
如果(!font\u is\u small){…}
实际上更具可读性。这应该是一个注释,而不是一个答案。我真的不知道。我对javascript有点陌生,在互联网上寻找一些东西来更改html类,这是唯一有效的方法。代码应该前后更改字体类。但是,我的代码不会更改对错。它仍然会使字体变大,但不会使字体变小,因为变量不会改变。如果我尝试你的建议,字体根本不会改变。代码只是停止工作。
document.getElementById('two').className= //<--- blank? the program will be doing this:
document.getElementById('one').className=document.getElementById('one').className.replace("font2","font1");
var font_is_small = true;
function bigfont()
{
    font_is_small = !font_is_small; // switch the boolean
    if (font_is_small){ // no need for == true
        document.body.className=
        document.body.className.replace("font1","font2");
    }
     else { // no need for if condition
        document.body.className=
        document.body.className.replace("font2","font1");
    }
 }