等于号为什么不跟平时的双等不一样?

来源:4-10 编程练习

慕UI9275839

2016-11-23 23:01

var infos = [
    ['小A','女',21,'大一'],
    ['小B','男',23,'大三'],
	['小C','男',24,'大四'],
	['小C','男',24,'大四'],
	['小D','女',21,'大一'],
	['小E','女',22,'大四'],
	['小F','男',21,'大一'],
	['小G','女',22,'大二'],
	['小H','女',20,'大三'],
	['小I','女',20,'大一'],
	['小J','男',20,'大三']
];
for(var i = 0; i < infos.length; i++) {
	if(infos[i][3] === "大一" && infos[i][1] === "女") {
		document.write(infos[i][0] + "<br />");
	}
}

请问各位,最后的if条件语句里面的等于为啥是三个等于号?不是等于是“==”么?但我改成两个等于号倒是也能正常输出,并且正确,请指教

写回答 关注

2回答

  • 奔腾年代
    2016-11-24 00:48:13
    已采纳

    两个等号:值相等,表达式结果就为真。

    三个等号:值相等,类型也相等,表达式结果才为真。

    这里道题目里,类型是给定的,‘大一’就是字符串类型,所以在这里结果相同。除非专门判断类型是否也相同,否则一般用==就可以了。

    慕UI927...

    非常感谢!

    2016-11-24 22:50:53

    共 1 条回复 >

  • qq_月亮之上_0
    2016-11-24 00:57:36

    两个等号的运算符允许进行类型转换,主要检测两个操作数是否相等,

    三个等号的运算符不允许进行类型转换,只有两个操作数的值和类型都相等,则它们相等。

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468061 学习 · 21891 问题

查看课程

相似问题