在线建站培训
您的位置: 魔客吧站长论坛建站交流查看内容

关于表达式中的 = 号 ,请大侠帮忙看看

myst 发表于 2017-8-13 07:44:44 | 栏目:建站交流
if (payType === "faceToFace" || payType === "") {
payDtd.resolve(0);
} else if (payType === "weixin") {
this.payOrderByWeixin(payDtd, orderID);
} else if (payType == "alipay") {
this.payOrderByAlipay(payDtd, orderID);
} else if (payType == "weixinJSSDK") {
this.payOrderByWeixinJSSDK(payDtd, orderID);
} else {
payDtd.reject(0);
}
在TAKEOUT的教材程序中是这样,那么什么情况用 三个 = ,什么时候用 2个 = ?

zrtl
zrtl 发表于 2017-8-13 08:22:24
我也是js的小白,对底层的东西不太清楚
但是,.w和.js页面每次保存后,对于不规范的写法会有警告和报错
一般情况下都是按照提示进行修改

patrich
patrich 发表于 2017-8-13 08:31:17
这是js语法,随便找个js的资料看看

gxhj
gxhj 发表于 2017-8-13 08:36:10
==用于一般比较,===用于严格比较,==在比较的时候可以转换数据类型,===严格比较,只要类型不匹配就返回flase。

举例说明:
"1" == true
类型不同,"=="将先做类型转换,把true转换为1,即为 "1" == 1;
此时,类型仍不同,继续进行类型转换,把"1"转换为1,即为 1 == 1;
此时,"==" 左右两边的类型都为数值型,比较成功!
如果比较:"1" === true 左侧为字符型,右侧为bool布尔型,左右两侧类型不同,结果为false;
如果比较:"1" === 1 左侧为字符型,右侧为int数值型,左右两侧类型不同,结果为false;
如果比较: 1 === 1 左侧为int数值型,右侧为int数值型,左右两侧类型相同,数值大小也相同,结果为true;
如果比较: 1 === 2 左侧为int数值型,右侧为int数值型,左右两侧类型相同,但数值大小不同,结果为false;
简而言之就是 "==" 只要求值相等; "===" 要求值和类型都相等