javascript - js 연산 문제, 풀어보세요~~
大家讲道理
大家讲道理 2017-05-19 10:37:30
0
5
478

"1"- -"1";

위 작업의 결과는 2입니다. 중간에 공백이 있으면 오류가 발생합니다. 공백이 있으면 결과는 2입니다. 누가 이유를 분석해 주실 수 있나요?

고마워요~~

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

모든 응답(5)
某草草

뺄셈 연산을 수행할 때 js는 연산이 수행될 수 있도록 양쪽 수식을 숫자로 변환하려고 시도하며(작은 오류 수정 동작) 1-(-1)이 되어 결과는 2가 됩니다.
공백 없이 보고된 오류는 완전히 문법 오류입니다. .
그리고 이것은 상수의 문제가 아닌 오류입니다. 변수로 변경되더라도 구문 분석기는 오류를 수정하는 방법조차 모릅니다. a-(-b) 당신을 위한 것인가요? 그러면 논리가 직접 파괴되고 --b가 파괴됩니다.
a---b를 수행하지 않으면 파서가 당신을 위해 (a--)-b를 만들 수 있지만 이 방법을 사용하면 됩니다. 글의 내용도 참 웃기네요. 표현하고 싶은 건 a-(--b)?

파서는 의미(생각)가 상대적으로 명확한 경우에만 몇 가지 수정 작업을 수행합니다. 마치 js에서 ''-'' 숫자만 뺄셈을 지원하는 것처럼, 숫자가 아닌 경우 숫자로 변환합니다. 하지만 ''+'' 및 0+''인 경우 첫 번째 표현식을 기반으로 수정해야 합니다. 그렇지 않으면 문자열 연결을 수행하는지 추가를 수행하는지 알 수 없습니다. 너무 안타깝습니다. 이는 완전히 파괴적인 오류 수정이므로 절대로 수행할 수 없습니다.

이런 일에 너무 매달리지 마세요. 오락적인 질문입니다. . 실제로 코딩을 할 때 제정신을 가진 사람이라면 누구도 이런 일을 하지 않을 것이라고 믿습니다

仅有的幸福
  1. 두 개의 - 사이에 공백이 있으면 @ Die Fatty가 답변한 것처럼 빼기 기호로 간주됩니다. 양쪽 문자열은 숫자로 변환됩니다. 1 빼기 -1은 2입니다. -有空格的时候,被认为是减号,如 @死胖子 回答的一样。两边字符串会被转成数字处理, 1减-1得2;

  2. 两个-没有空格,就变成了--

공백이 없으면 두 개의 --- 연산자가 됩니다. 이는 자체 감소 연산이며 변수에만 사용할 수 있습니다. 이 표기법을 숫자에 적용하면 확실히 오류가 발생합니다. 믿기지 않는다면 #🎜🎜#을 시도해 보세요. 으아악 #🎜🎜# #🎜🎜#
Ty80

1- -1은 1-(-1)

과 같습니다.
为情所困

-"1"은 문자열을 -1로 변환하는 단항 연산입니다. 1-(-1)과 비교하면 2가 됩니다.

공백이 없으면 파서는 구문 오류를 보고합니다.

刘奇

먼저 두 가지 연산자가 있습니다: 공백, 빼기 기호 연산자 및 음수 값 연산은 후자의 연산 우선순위가 전자보다 높습니다. -"1"은 암시적으로 -1로 변환됩니다
공백이 없다는 점 외에도 자체 감소 연산입니다. @deepgoing이 말했듯이 "상수"는 자체 증가 및 자체 감소 연산을 수행할 수 없습니다#🎜🎜 #

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿