公司需要一个简单的网站,保定市网站制作,wordpress get_tag,延边州建设局网站在 JavaScript 中#xff0c; 和 都用于比较两个值#xff0c;但它们有一个重要的区别#xff1a;
1. (宽松相等运算符) 进行比较时#xff0c;会 自动类型转换#xff08;也叫做强制类型转换#xff09;#xff0c;即如果比较的两个值的类型不同#xff0c;JavaScr…在 JavaScript 中 和 都用于比较两个值但它们有一个重要的区别
1. (宽松相等运算符) 进行比较时会 自动类型转换也叫做强制类型转换即如果比较的两个值的类型不同JavaScript 会尝试将它们转换成相同的类型再进行比较。
2. (严格相等运算符) 进行比较时 不会进行类型转换也就是说只有当两个值 类型相同且值相等 时 才返回 true。
举个例子
1. 使用 时的情况类型转换
javascript复制代码
console.log(1 1); // true1 是数字类型1 是字符串类型。 会尝试将字符串 1 转换为数字 1然后比较 1 1结果为 true。
javascript复制代码
console.log(false 0); // truefalse 是布尔值0 是数字。 会把 false 转换为 0然后比较 0 0结果为 true。
2. 使用 时的情况不进行类型转换
javascript复制代码
console.log(1 1); // false1 是数字类型1 是字符串类型。 不会进行类型转换直接比较 1 和 1因为它们的类型不同所以结果为 false。
javascript复制代码
console.log(false 0); // falsefalse 是布尔值0 是数字类型。 不会进行类型转换直接比较 false 和 0因为它们的类型不同所以结果为 false。
总结 会进行 类型转换如果值可以转换成相同类型它们就会被认为是相等的。 不会进行类型转换只有 类型和值都相等 时结果才为 true。
因此为了避免潜在的错误和不可预期的结果推荐使用 即严格相等运算符这样比较更为准确和清晰。
讲讲今天
代码
computed: {selectedDurationLabel() {const option this.durationOptions.find(option option.value this.room.duration);return option ? option.label : 选择起订时长;}},功能
在点击编辑的时候起订时长那显示原先存的值
实现
我在这里有一个判断拿原先存的值去和我的durationOptions去比较如果找到一样的那么就给他返回该值可以做到默认显示的效果
遇到的问题
这里一直都是显示选择起订时长并没有达到我要的效果然后我想办法测试了一下尝试分别输出这两个值发现这两个值在控制台上颜色不一样突然就想到会不会是因为这个原因引起的因为颜色不一样肯定字段类型也不一样 然后就解决这个问题了类型转换一下或者改为就好