<script type="text/javascript">
//var EProductId = prompt('Please enter your product Id');
var EProductId = [];
EProductId[0] = prompt("New member name?");
//Product price, code, name, declare here
var ProductId = [];
ProductId[0] = 001;
var product = [];
product[0] = "tshirt";
var ProdPrice = [];
ProdPrice[0] = 299;
//Condition start here
if (ProductId[0] === EProductId[0]) {
// var EProductId2 = parseInt(prompt("Please enter a product", "")ProductId[0] + ' ' + product[0] + ' ' + ProdPrice[0]);
prompt(ProductId[0] + ' ' + product[0] + ' ' + ProdPrice[0]);
} else{
alert("You pressed Cancel or no value was entered!");
}
</script>
为什么不进入条件。我在运行程序后输入值001,但它会提示消息是您按下取消或没有输入值!
答案 0 :(得分:1)
if (ProductId[0] == EProductId[0]) {}
比较类型时仅使用===
。
答案 1 :(得分:1)
===
仅用于javascript中的严格比较。例如:if('0' == 0)
将返回true
,因为此处仅比较值。但是,===
会检查它们是否属于同一类型(2个字符串,2个数字,但不是每个1个)。因此,0===0
返回true
,而0==='0'
返回false。
您应该使用==
代替。使用==
,您可以比较不同类型的值是否真的&#39; truthy&#39;或者&#39; falsy&#39;。示例:0 == 0
返回true以及'0' == 0
。
答案 2 :(得分:0)
我想它会回归&#34; 001&#34;作为一个字符串,试试这个
if (ProductId[0] === +EProductId[0])
答案 3 :(得分:0)
typeof(prompt())
返回字符串。您必须先使用parseInt(string, radix)
将其转换为整数。 10指定了基数10,即人们使用的通用编号系统。
if (ProductId[0] === parseInt(EProductId[0],10))