今天在做项目时,总有一个小bug测试不出想要的结果。
程序如下:
var pzrq = $("#pzrq").val();
if(pzrq=""){
alert("未选择审批日期");
return "请选择日期";
}
测试时候始终不能出现出现alert对话框。后来检查时候发现pzrq是有值的,但就是无法进入if判断中,后来回忆起=、==的区别,改成pzrq=="",立马测试通过。
后来特意重新复习了一下=、==以及===的区别。
1、=
关于等号,就是赋值的意思。
2、==
关于双等号,比较的意思。如果比较的双方类型相同,则比较双方的值,如果值相等,则相等,否则不等。如果比较的双方类型不同,则根据js转换机制进行转换,转换后如果值相等,则相等,否则不等。
3、===
要求最高,要求比较双方类型、值必须全部相同才相等。