12_JavaScript 기초 (2)

운영자

운전자는 운전 개시의 단순한 형태이고, (연산자 또한 운영자 변환된다).

의견의 분류 문제의 운영자, 물론 우리의 사업자 분류로 다음과 같습니다 :

산술 연산자 (산술 연산자)      
비교 연산자 (비교 연산자)
논리 연산자 (논리 연산자)
할당 연산자 (할당 연산자)
비트 연산자 (비트 연산자)
조건 (트라이어드) 연산자 (조건 연산자)

1. 수학 연산자

+ - * / % ()

  • 알고있다 %을 반복하지 않는다, 우리는 많은 계산 한 어제의 의미를.
  • 평가, 곱셈과 나눗셈 첫째 나머지, 다음 덧셈과 뺄셈, 우리는 많은 계산했던 어제의 순서를 알고, 그들을 반복하지 않습니다.
  • 가능한 모든 문자열 암시 적 변환 작업은 디지털 계산, 플러스 특수로 변환됩니다.

정통 수학 연산자는, 그것이 numbernumber수학 계산, 결과는 숫자입니다. 인터뷰 고려, 이상한 수학의 여러 가지가 있습니다 :

수학의 순수한 문자열, 부울, null가 당신에게 암시 적 변환을 할 수 있습니다 :

//隐式转换:就是没有写parseInt()、parseFloat()自己帮你转格式
        
console.log(3 * "8");   //24
console.log("3" * "8"); //24
console.log("48" / "2"); //24
console.log("24" % 55); //24

console.log(3 * null); //0   隐式转换的时候null将被转为0
console.log(3 * false); //0  隐式转换的时候false将被转为0
console.log(3 * true);  //3  隐式转换的时候true将被转为1

불순한 문자열과는 암시 적 변환을 수행하는 데 도움이되지 정의되지 않은 캔, 결과는 NaN입니다

console.log(3 * "8天");  //NaN   数学运算中,不纯的字符串没法隐式转换
console.log(3 * undefined); //NaN  数学运算中,undefined不能进行隐式转换

특별 또한, + 기호를 추가하고 이후하면서 문자열의 얼굴에 하이픈, 가산기 그래서 암시 적 변환하지

//加法没有隐式转换
console.log(3 + "8");           //38
console.log(3 + undefined); //NaN   
console.log(3 + null);      //3
console.log(3 + false);     //3
console.log(3 + true);      //4

요약 :
계산에 관여 undefined가있어왔다 같은 관계없이 동작만큼 결과는 NaN이된다.
그런 다음 "4", 거짓, 진실, 널 암시 적 변환이 수행 될 수있다.
또한, "4"의 얼굴은 암시 적 변환 특별하지 않다

특수 값의 계산은 NaN의, 운영에 참여 무한대, 우리는 알아 보려면 "고 3"에서 볼 수 있습니다.
우리는 몇 가지 예를 :

Infinity + 1000   //Infinity
Infinity - 1000  //Infinity
Infinity / 1000 //Infinity 
Infinity - Infinity //NaN
Infinity /Infinity  //NaN
Infinity * Infinity //Infinity
0 / 0 //NaN
6 / 0 //Infinity
NaN / 8 //NaN

2. 관계 연산자

>     大于
<     小于
>=   大于等于
<=   小于等于
==   等于
!=    不等于
=== 全等于
!==  不全等

관계 연산자는 정통, number그리고 number, 답을 수학 연산을 수행 boolean.

console.log(8 > 5); //true
console.log(7 < 4); //false

관계 연산자의 결과는 부울 타입이다.

true와 false는 부울 값이라고합니다. 부울 타입, 부울 타입의 두 값은, 그것은 사실과 거짓입니다. true와 false하십시오.

== 우리는 당신이 암시 적 변환을 내릴 수 있도록 가능한 한 진정한 답변을 얻을 것 "동등성 결정"이라고
console.log(5 == "5"); //true
=== 우리는 평등에 대한뿐만 아니라 비교 값, "합동 판단"이라고뿐만 아니라 평등에 대한 비교의 유형

! = == == 연산자 사실은 다음! = FALSE 인 경우는 그 반대이다
==하세요 === 연산자 그리고, 해당하는 경우 == === 반대이다! 거짓

console.log(5 != "5");  //false ,脑子要反着想一下,5=="5"结果是t,所以就是f

console.log(5 !== "5"); //true ,脑子要反着想一下,5==="5"结果是f,所以就是t

정교회 작업을 완료, 숫자 및 숫자의 관계 연산은 결과가 부울이다 실시했다.
이제 우리는, 인터뷰하기 위해, Diudiu 정통 관계 연산자에 대한 주요 사항을 계획 이야기하고, 더 자신을 "세 번째 해"P50, P51, P52를 통해 :
stringstring관계 연산자를 할 수, 그것은 문자 인코딩 순서를 비교하는 것입니다.

문자 인코딩 순서, 숫자, 대문자, 소문자

"a" < "b" //true
"A" < "B" //true
"A" < "a" // true ,大写字母在字符集里面是在小写字母前面
"1" < "A"  //true ,数字在字母前端
"blank" < "blue"  //true   因为一位一位比,直到比出大小
"25678" < "3"   //true  因为是string和string比,比的是字符编码顺序

② 디지털 계산과의 관계는, 순수한 숫자 열을 디지털로 변환하는 경우, 널 (null)이 1로 참 전환 0으로 변환되고, 오류가 0으로 변환되고, 널 판정 제로와 동일 할 수 없다.

null < 0.00001  //true
null > -0.0001  //true
null == 0  //false  具体原因,我们后面讲解Object的时候介绍
false == 0  //true
true == 1 //true

③ NaN의 자신 같지 않은, 자신과 동일하지 않다

NaN == NaN  //false
NaN === NaN  //false
NaN != NaN //true
NaN !== NaN //true

④ 문자열과 숫자의 비율, 문자열은 암시 적으로 숫자로 변환됩니다
"25" < 3 //false

그것은 우리가 이미 바보로 만들지 마라, 일부 정통 작업을 알고주의해야한다, 지속적으로 관계 연산자를 사용할 수 없습니다! !
예를 들어, 우리는 3보다 1보다 큰 2,2-보다 확인하려면
표현 :
3 > 2 > 1

숫자는 가치인가?
용액 : 본래 식 = (3> 2)> 1 = TRUE> 1 = 거짓 ( 1~1에 비해 같은 사실이다)

관계형 연산자를 사용하지 않을 수 있습니다! ! 계속 사용하면되기 때문에, 또는 왼쪽에서 오른쪽으로 계산 된 사실이므로 동작에 관련된 다음의 스텝 부울있다.
당신이 지속적인 관계 연산자를 사용하려는 경우에 대한 스포일러,1<2 && 2<3

3. 논리 연산자

세 가지 논리 연산자로 :

&&  逻辑与运算
||  逻辑或运算
!   逻辑非运算

정통, 논리 동작에 관여 boolean하고 boolean얻어진 결과는 boolean
진리표에 따라 설정 값.

&& 그리고 논리 "및"
그리고 && 논리 "와"

"거짓에 거짓." "정말에만 해당"
제안 1 : 정말 "지구가 둥글다는"
제안 2 : "노래 Zhongji 잘 생긴"정말
명제 1과 제안이 정말

제안 1 : "1 + 1 = 3"거짓
명제 2 : "땅이었다"거짓
명제 1과 제안이 가짜

//逻辑运算符
console.log(true && true);      //t
console.log(true && false);     //f
console.log(false && true);     //f
console.log(false && false);        //f

|| 논리 OR "또는"수단

"거짓은 모두 거짓이었다", "정말 사실에있다"

제안 1 : 1 + 1 = 2
제안 2 : "샤오 교사 잘 생긴"
제안 1 제안 2는 전체적인 결과는 사실이다

console.log(true || true);      //t
console.log(true || false);     //t
console.log(false || true);     //t
console.log(false || false);    //f 

!는 "논리적 없습니다"반대인가

console.log(!true);         //f
console.log(!false);        //t
console.log(!!!!!!!!!false);    //t

비 연속 운영, 또는

true || false && !true || false;
解:原式 = true || false && false || false
 = true || false || false
 = true || false
 = true

논리 연산자는 가장 흥미로운 점은 소위 "짧은 구문"입니다.
그것은 당신이 찾을 수 없다는 것입니다,

A가 거짓이면 연산 시간 등의 계산 && B, A, B는 다음 라인에 오류가 직접 출력, 평균 직접적인 출력을 제어하지 않는 경우. A가 참이면 계산 시간과 같은 && (B)의 계산은, 만약 그들이 B, B는 라인 출력의 직접적인 결과로 무엇을 제어하지 않는 경우.

논리적 분석을하지 자연 그 시간, 컴퓨터 운전가 && B는이 아이 중 하나를 던져, 또는 b를 던질 생각합니다. A는 제외하고 직접 드로 인 경우, A는 긍정적 직접 B 스로인 경우.
- 단락 구. 단락 회로는 단락 또는 B 중 하나이다.

네거티브 : FALSE, NULL, 0, NaN가 , 빈 문자열 ( ""), 정의되지 않은
양의 모든 양의 위 외에도합니다.

false && 8   //false  因为计算机发现,且运算a已经是false了,直接输出false
null && 8   //null  因为计算机发现,且运算a已经是false性的了,直接扔出来null
true && 13   //13   因为计算机发现,且运算a是true,所以总结果就是看b,直接扔出b
12 && 13    //13   因为计算机发现,12当做true,所以总结果看b,直接扔出b
13 && 12    //12   因为计算机发现,13当做true,所以总结果看b,直接扔出b
undefined && 哈哈  //undefined  不报错,因为a已经是负性的了,所以直接扔出a,哈哈不管
哈哈 && undefined  //报错
true && NaN    //NaN  扔后面

|| 논리 또는 단락, B || 비슷한입니다
컴퓨터가 true로 던져 발견, A는 거짓이면, 다음에 b를 던져

0 || 18   //18 前面假,扔后面
18 || 0   //18 前面真,扔前面
undefined || NaN    //NaN  前面假,扔后面
NaN || undefined    //undefined 前面假,扔后面

88 || && 99 66 55 ||
해결책 : 일본어 화학식 88 || || 66 55 =
= || 88 55
= 88

정의되지 않은 && ( "3"! = 3) || NaN의 && 널
解:原式= 정의되지 않은 && 거짓 || NaN의 && 널 (null)
= 정의되지 않은 || NaN의 && 널 (null)
= 정의되지 않은 || NaN이
= NaN의

단락 구문 요약하자면
&& B를, 또는 컴퓨터 실행 또는 B를 실행한다. ; 실제 B를 수행하는 단계, 잘못된는 수행
|| B를, 또는 컴퓨터 수행 또는 (B)를 수행한다. (A)의 진정한 구현, 가짜 실행 나.

진리표 자신에서 아래로 백업하지 않습니다.

4. 할당 연산자

=   赋值
+=  简便写法
-=  简便写法
*=  简便写法
/=  简便写法
%=  简便写法
++
--

참가자 할당 연산자는 변수가 있어야합니다.

var a = 1;
a += 2;            //这行语句等价于a = a + 2;
console.log(a);     //3

var b = 6;
b /= 3;   //等价于b = b / 3
console.log(b);     //2

var c = 100;
c %= 10;        //等价于c = c % 10;
console.log(c); //0

var a = "我";
a += "爱";
a += "你";
console.log(a);

++ 연산자

var e = 10;
e++;            //等价于e=e+1
console.log(e); //11

변수가 의미없는 후에 ++ 변수 앞에 기록 쓸 ++ 출력 명세서와 함께 기록 될 수있다.

;하십시오 ++ 첫 번째 원래 값으로, 다음 1 추가
플러스 1, 새로운 값을 제공 : ++

var f = 10;
console.log(f++);   //10 ,先引用原值,然后加1

그것은 동일합니다 :

//等价于
var f= 10;
console.log(f);   //先输出f
f++;              //然后f加1

var g = 10;
console.log(++g);    //11 , 这次是先加1,然后输出

멋진 플레이 방법을 ++, 유용 만 인터뷰입니다 :

var a = 8;
console.log(4 + a++);   //12  , 先使用原来的a的值,就是4+8,输出12.然后a加1
console.log(a);     //9

var i = 9;
console.log(++i % 5);   //0  , 先把i加1,然后使用i,10%5=0
console.log(i);     //10

계산 순서 연산자 :
+ - 개인 →→→ →→→ 수학 비교 로직 →→→ →→→ 할당!

var a = 3 < 6 && 7 < 14;    //true
原式 = true && true
     = true

var a = 1 + 2 < 3 + 3 && 3 + 4 < 2 * 7; 
原式 = 3 < 6 && 7 < 14
     = 上一题 
     = true

var a = false + true && 13;
原式 = 0 + 1 && 13
     = 1 && 13
     = 13

var a = 15;
false + a++ + true > 8 && 13 || 6
原式 = false + 15 + true > 8 && 13 || 6
     = 16 > 8 && 13 || 6
     = true && 13 || 6
     = 13 || 6
     = 13

조건 분기 문

설치 1. 문

...... ...... 그렇지 않으면, 프로그램이 나타납니다 분기를 할 경우

<script type="text/javascript">
    var a = 8;
    if(a >= 60){
        alert("及格了");
    }else{
        alert("不及格");
    }
</script>

구문 :

if(测试表达式){
    测试表达式为真执行的语句
}else{
    测试表达式为假执行的语句5   }

하여 영어의 의미 경우 다른 그렇지 않으면 의미, 경우. 다른 할 ELES 철자.

구문 수준에서, 두 가지 예외가있다 :
① 수있는 다른 부분

var a = 1;
if(a >= 60){
    alert("及格了");4  }

명령문이 실행되는 경우 ② 단 한 줄의 문장은, 그 당신이 괄호를 생략 할 수 있습니다, 단방향 경우입니다.

var a = 112;
if(a >= 60) 
    alert("及格了");
else
    alert("不及格");

참고 그 문이 문은 문장 구조없는 구조에 무엇을 구조, 임금의 관심을 경우 :

var a = 355;
if(a > 30){
    console.log("哈哈");
    console.log("嘻嘻");
    console.log("呵呵");
}else{
    console.log("纳尼");
    console.log("呸呸")
}
console.log("么么哒");  /*一定会执行,在if结构体外面*/

작은 사례 : 사용자가 사용자가 운전 면허증을 취득 할 수 있는지 여부, 나이를 입력합니다. 그는 교통 규칙을 말했다 : 운전 면허를 취득하지 미만 18 미만 70 이상.

//让用户输入年龄
var age = parseInt(prompt("请输入年龄"));
//判断
if(age >= 18 && age <= 70){
    alert("可以考取驾照");
}else{
    alert("年龄不符合要求");
}
alert("谢谢惠顾");

여러 가지 경우
if……else if …… else if…… else if…… else ……

만약 ...... ...... 그렇지 않으면 다른 경우 다른 경우 경우 ... ... ... ... ... 그렇지 않으면

현상을 점프, 분기 실행 (점프)를 선택하는 사용자는이 지점을 선택하고이 지점이 충족되지 의미한다 :

var score = 76;

if(score >= 85){
    alert("优秀");   //不满足条件,所以不执行,走楼梯下楼
}else if(score >= 70){
    alert("良好");   //走到这个楼层的,一定暗含小于85。这一楼层满足,跳楼了
}else if(score >= 60){
    alert("及格");  //不执行
}else{
    alert("不及格")  //不执行
}

구문 :

if(测试表达式1){
    测试表达式1为真的时候做的事情
}else if(测试表达式2){
    测试表达式1为假,且测试表达式2为真的时候做的事情
}else if(测试表达式3){
    测试表达式1为假,测试表达式2为假,且测试表达式3为真的时候做的事情
}
……

문 경우 중첩 :
사용자는 남성과 여성으로 성별을 입력합니다. 그런 다음 자신의 나이를 입력합니다. 결혼 여부를 결정합니다.
이상 22 개 남성
20 여성

문은 다음의 경우 하나의 경우를 설정하는, 중첩 될 수있는 경우 :

//判断
if(sex == "男"){
    //男
    if(age >= 22){
        alert("男同志你好,可以结婚");
    }else{
        alert("你还是个小正太,不能结婚!");
    }
}else{
    //女
    if(age >= 20){
        alert("女同志你好,可以结婚");
    }else{
        alert("你还是个小萝莉,不能结婚!");
    }
}

마루 다른 하나가 될 수 있습니다. 만약 다른 여러있을 수 있습니다.

추천

출처www.cnblogs.com/shy-kevin/p/12058640.html