여기에서 말하는 연산자에는 산술 연산자와 부울 및 할당 등의 논리 연산자가 포함됩니다. 필요한 친구들이 모두 참고할 수 있도록 JavaScript의 다양한 연산자 사용법을 요약했습니다.
단항 연산자
하나의 값에만 연산을 수행할 수 있는 연산자를 단항 연산자라고 합니다. 단항 연산자는 ECMAScript에서 가장 간단한 연산자입니다.
1. 증가 및 감소 연산자
증가 및 감소 연산자는 C에서 직접 차용했으며 각각 접두사 유형과 후위 유형의 두 가지 버전이 있습니다. Gu Mingsiyi, 접두사가 있는 유형은 연산할 변수 앞에 오고, 후위 유형은 연산할 변수 뒤에 와야 합니다. Pre-type:
var num1 = 1; var num2 = 2; var num3 = ++num1 + num2;//4
var num1 = 1; var num2 = 2; var num3 = num1++ + num2;//3
접두사 증가 및 감소, 후위 증가 및 감소 이 네 가지 연산자는 모두 모든 값에 적용 가능합니다. 다른 값에 적용할 경우 이 연산자는 Number() 변환 함수와 같이 값을 변환한 다음 변환 후 1을 더하거나 뺍니다.
2. 단항 덧셈 및 뺄셈 연산자
단항 덧셈 및 뺄셈 연산자는 주로 기본 산술 연산에 사용되며 데이터 유형을 변환하는 데에도 사용할 수 있습니다(이 연산자는 이를 Number() 변환 함수처럼 변환합니다. 변환할 값).
부울 연산자
세 가지 부울 연산자가 있습니다: NOT(NOT), AND(AND) 또는 (OR).
1. 논리 NOT
논리 NOT 연산자는 느낌표(!)로 표시되며 ECMAScript의 모든 값에 적용할 수 있습니다. 값의 데이터 유형에 관계없이 이 연산자는 부울 값을 반환합니다.
2. 논리 AND
논리 AND 연산자는 두 개의 앰퍼샌드(&&)로 표시되며 두 개의 연산 번호와 모든 유형의 피연산자에 적용할 수 있습니다. 논리 AND는 단락 연산입니다. 즉, 첫 번째 피연산자가 false로 평가되면 두 번째 피연산자는 평가되지 않습니다. 두 값이 모두 true이면 결과는 true입니다. 두 값 중 하나는 참이고 하나는 거짓이면 결과는 거짓입니다. 두 값 모두 false인 경우 false가 반환됩니다.
값 중 하나가 부울 값이 아닌 경우: 다음 규칙을 따르세요
첫 번째 피연산자가 객체이면 두 번째 피연산자가 반환됩니다.
var a = {b:1}; a && 'ss'//"ss"
'ss' && a//Object {b: 1}
var c = {d:2}; c && a//Object {b: 1}
(2) 피연산자 중 하나가 NaN이면 NaN을 반환합니다.
(3) 피연산자 중 하나가 정의되지 않은 경우 undefine
3을 반환합니다. 논리 AND 연산자와 유사하며 논리 OR 연산자도 단락 연산자입니다. 즉, 첫 번째 피연산자가 true로 평가되면 두 번째 피연산자는 평가되지 않습니다.
(1) 첫 번째 피연산자가 true이면 첫 번째 피연산자를 반환합니다. (2) 첫 번째 피연산자가 false이면 두 번째 피연산자를 반환합니다.
곱셈 연산자
ECMAScript는 3개의 곱셈 연산자를 정의합니다: 곱셈, 나눗셈, 모듈러스Infinity*0//NaN
0/0//NaN
Infinity/Infinity//NaN
덧셈 연산자
두 연산자 모두 숫자 값입니다
정기적인 덧셈 계산을 수행합니다. Infinity + -Infinity//NaN
한 연산자만 문자열인 경우 연결합니다. 다른 피연산자는 문자열로 변환된 다음 두 연산자가 문자열로 변환됩니다. 문자열이 연결됩니다.
피연산자가 객체, 숫자 값 또는 부울 값인 경우 해당 toString() 메서드를 호출하여 해당 문자열 값을 얻은 다음 문자열에 대한 이전 규칙을 적용합니다. null 및 정의되지 않은 경우 String() 함수를 호출하고 각각 "undefine" 및 "null" 문자열을 가져옵니다.2 + '' //"2"
두 피연산자가 모두 숫자 값인 경우일반적인 산술 빼기 연산을 수행하고 결과를 반환합니다. 피연산자 중 하나가 NaN이면 결과는 NaNInfinity - Infinity//NaN
피연산자 중 하나가 객체인 경우 객체의 valueOf() 메서드를 호출하여 객체를 나타내는 값을 가져옵니다. 결과 값이 NaN이면 빼기 결과도 NaN입니다. 객체에 valueOf() 메서드가 없으면 해당 toString() 메서드가 호출되고 결과 문자열이 숫자 값으로 변환됩니다.
5 - true//4
关系操作符
如果两个操作数都是数值,则执行数值比较
如果两个操作数都是字符串,则比较两个字符串对应的字符编码值
如果一个操作数是数值,则将另一个操作数转换为数值,然后执行数值比较
var result = '23' < '3'//true var result = '23' < 3//false
相等操作符
1.相等和不相等
先转换再比较
(1)如果有一个操作数是布尔值,则在比较相等性之前,先将其转换为数值
(2)如果有一个操作数是字符串,另一个操作数是数值,先将其转换为数值
(3)如果有一个操作数是对象,另一个不是,则调用对象的valueOf()方法,用得到的基本类型值按前面的基本规则进行比较
null和undefined是相等的
要比较相等性之前不能将null和undefined转换为任何其他值
如果两个操作数都是NaN,相等操作符也返回false,按规则,NaN不等于NaN
2.全等和不全等
仅比较而不转换
"55" !== 55 //true
条件操作符
variable = boolean_expression ? true_value : false_value
本质上,这段代码的含义就是基于对boolean_expression求值的结果,决定给变量variable赋什么值。如果求值结果为true,则给变量赋true_value;如果求值结果为false,则给变量variable赋false_value值。
赋值操作符
简单的赋值操作符由等号表示,其作用就是把右侧的值赋给左侧的变量。
逗号操作符
逗号操作符多用于声明多个变量;但除此之外,逗号操作符还用来赋值。在用于赋值时,逗号操作符总会返回表达式中的最后一项。
위 내용은 JavaScript의 다양한 연산자 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!