이번에는 !=, ==, !==, ===의 사용법과 !=, ==, !==, === 사용 시 주의사항을 알려드립니다. 실제 사례를 살펴보겠습니다.
var num = 1; var str = '1'; var test = 1; test == num //true 相同类型 相同值 test === num //true 相同类型 相同值 test !== num //false test与num类型相同,其值也相同, 非运算肯定是false num == str //true 把str转换为数字,检查其是否相等。 num != str //false == 的 非运算 num === str //false 类型不同,直接返回false num !== str //true num 与 str类型不同 意味着其两者不等 非运算自然是true啦
== 및 != 유형이 다른 경우 먼저 유형 변환을 시도한 다음 값을 비교하고 마지막으로 값 비교 결과를 반환합니다.
And
=== 및 !==는 동일한 유형인 경우에만 해당 값을 비교합니다.
우선 == 평등은 평등, === 정체성은 평등합니다.
==, 양측의 값 유형이 다른 경우 유형 변환을 먼저 수행한 후 비교해야 합니다.
===, 유형 변환이 수행되지 않습니다. 서로 다른 유형이 동일하면 안 됩니다.
다음은 별도로 설명합니다.
먼저 ===에 대해 이야기해 보겠습니다. 비교적 간단합니다. 두 값이 === 같은지 여부를 결정하는 데 다음 규칙이 사용됩니다.
1. 유형이 다른 경우 [같지 않음]
2. 둘 다 숫자 값이고 동일한 값인 경우 , then [equal]; (! 예외) 중 하나 이상이 NaN이면 [같지 않음]입니다. (값이 NaN인지 판단하려면 isNaN()만 사용하면 됩니다.)
3. 둘 다 문자열이고 각 위치의 문자가 동일하면 [같음], 그렇지 않으면 [같지 않음] .
4. 두 값이 모두 true이거나 둘 다 false인 경우 [같음]입니다.
5. 두 값이 모두 동일한 개체나 함수를 참조하는 경우 [같음]이고, 그렇지 않으면 [같지 않음]입니다.
6. 두 값이 모두 null이거나 둘 다 정의되지 않은 경우 [같음]입니다.
다음 규칙에 따라 ==에 대해 이야기해 보겠습니다.
1 두 값 유형이 동일하면 === 비교를 수행합니다.
2. 두 값 유형이 다른 경우에는 동일할 수 있습니다. 유형 변환을 수행한 후 다음 규칙에 따라 비교합니다.
a. 하나는 null이고 다른 하나는 정의되지 않은 경우 [equal]입니다.
b. 하나는 문자열이고 다른 하나는 숫자 값인 경우 문자열을 숫자 값으로 변환한 후 비교하세요.
c. 값이 true이면 1로 변환하고, false이면 0으로 변환하여 비교합니다.
d. 하나는 객체이고 다른 하나는 숫자 값이나 문자열인 경우 객체를 기본 유형의 값으로 변환한 후 비교합니다. 객체는 toString 또는 valueOf 메소드를 사용하여 기본 유형으로 변환됩니다. JS 핵심 내장 클래스는 toString 전에 valueOf를 시도합니다. 예외는 toString 변환을 사용하는 Date입니다. (더 귀찮고, 잘 이해가 안 가네요) 또는 다른 조합과 같은 비-js 핵심 객체는 [같지 않음]입니다.
예:"1" == true
유형이 동일하지 않으며 true가 먼저 값 1로 변환되고 이제 "1" == 1이 된 다음 "1"이 다음으로 변환됩니다. 1이고 1과 비교하면 == 1, 같습니다.
=
할당 연산자 ==는 ===와 엄격하게 동일
var a = 3; var b = "3";
a==b는 true를 반환합니다.
a와 b의 유형이 다르기 때문에
===는 엄격한 비교 및 판단에 사용됩니다
var data = ({"val":"7","flag":"true"}); <FONT face=Verdana></FONT>
아래 플래그의 값을 판단하는 방법은 무엇입니까?
true에 큰따옴표 ==를 더하면 문자열 true로 추정되기 때문입니다
큰따옴표가 없으면 ===가 부울 값 true
이게 매우 중요합니다. 이전에는 이것을 이해한 적이 없습니다
작성 방법 1 if(data.flag=true){…}else{..}
if(true){…}
Writing 2if(data.flag==true){…}else{..}
Writing 3 if(data.flag='true'){…}else{..}
if(true){…}
글4 这个才是正确的写法 “=”:这个表示赋值,不是表示运算符 “==”:表示等于(值) “===”:表示全等于(类型和值) 相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章! 推荐阅读:if(data.flag=='true'){…}else{..}
위 내용은 !=, ==, !==, === 사용법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!