Javascript html方法不输出“;假;当通过false时

Javascript html方法不输出“;假;当通过false时,javascript,jquery,html,Javascript,Jquery,Html,我正在编写一个简单的扩展来验证电子邮件地址,但是在处理扩展中的bool值时遇到了一些奇怪的行为 从代码片段中,您可以看到boolOne和Booltree,应该为false,但为空。当为假时,是否有理由不加上“假”,就像加上“真”一样 如果我使用String()它可以工作,所以这是一个解决方案 $(文档).ready(函数(){ $(“#按钮验证”)。单击(函数(){ $(“#boolOne”).html($(“#emailOne”).IsEmail()); $(“#intOne”).html(

我正在编写一个简单的扩展来验证电子邮件地址,但是在处理扩展中的bool值时遇到了一些奇怪的行为

从代码片段中,您可以看到boolOne和Booltree,应该为false,但为空。当为假时,是否有理由不加上“假”,就像加上“真”一样

如果我使用
String()
它可以工作,所以这是一个解决方案

$(文档).ready(函数(){
$(“#按钮验证”)。单击(函数(){
$(“#boolOne”).html($(“#emailOne”).IsEmail());
$(“#intOne”).html(ToInt($(“#emailOne”).IsEmail());
$(“#boolTwo”).html($(“#emailTwo”).IsEmail());
$(“#intTwo”).html(ToInt($(“#emailTwo”).IsEmail());
$(“#booltree”).html($(“#emailThree”).IsEmail());
$(“#intThree”).html(ToInt($(“#emailFive”).IsEmail());
log({One:$(“#emailOne”).IsEmail()});
log({Two:$(“#emailTwo”).IsEmail()});
log({Three:$(“#emailThree”).IsEmail()});
函数ToInt(val){
设结果=0;
if(val){
结果=1;
}
返回结果;
}
});
});
$.fn.IsEmail=函数(){
var结果=假;
var val=this.val();
变量reg=/^([^()[\]\\,;:\s@\“]+(\.[^()[\]\,;:\s@\“]+*)(\'+\”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[1,3}.];
if(注册测试(val)){
结果=真;
}
返回结果;
}
p.button-wrap{
填充:18px;
}

电子邮件
-bool:,int:

-bool:,int:
-bool:,int:


作为一种解决方法,您可以通过使用
“+布尔值”
强制将其转换为字符串,它将返回
“false”
,而不是
false

另外,我还冒昧地重写了您的代码;)

$(文档).ready(函数(){
$(“#按钮验证”)。单击(()=>{
[“一”、“二”、“三”]。forEach(num=>{
让isEmail=$(`email${num}')。isEmail()
$(`bool${num}`)html(“+isEmail”);
$(`int${num}').html(isEmail?1:0);
})
});
});
常量reg=/^([^()[\]\\,;:\s@\“]+(\.[^()[\]\,;:\s@\“]+)*)(\“+\”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[1,3}.[0-9]{1,3}.+]124;([a-zA Z-0-9]+-zA 0-2]/}.);
$.fn.IsEmail=function(){return reg.test(this.val())}
p.button-wrap{
填充:18px;
}

电子邮件
-bool:,int:

-bool:,int:
-bool:,int:


显然
.html(false)
只是删除元素的所有内容。顺便说一句:你应该把代码限制在必要的范围内。只需要一个DOM元素来演示您的问题,而且函数
IsMail
ToInt
也确实不需要。我只能在.Docs for html()中找到它。参数必须是字符串或函数。如果传递的
false
既不是字符串也不是函数(如文档所示),那么传递的
false
就不能插入任何内容。我不应该期望得到答案,因为我包含了显示多个示例的代码,以便更容易地显示行为。ToInt用于证明实际处理的值等于布尔值true或false。OP已经知道解决方案。他们需要的是一个解释。我不太可能需要布尔值作为字符串。我只是对这种行为感到好奇,如果能给我一个解释就好了