JavaScript 개요
JavaScript는 주로 클라이언트 측에서 사용되는 객체 및 이벤트 중심 스크립팅 언어입니다.
특징:
1. 상호작용(정보의 동적 상호작용만 가능)
2. 보안(로컬 하드 드라이브에 대한 직접 액세스는 허용되지 않음)
3. 크로스 플랫폼(플랫폼에 관계없이 JS를 해석할 수 있는 모든 브라우저에서 실행할 수 있음)
JavaScript는 Java와 다릅니다
1. Netscape. 이전에는 LiveScript였으며 현재는 Oracle의 제품입니다.
2. JS는 객체 기반이고 Java는 객체 지향입니다.
3. JS는 해석하고 실행하기만 하면 되고, Java는 먼저 바이트코드 파일로 컴파일한 후 실행하면 됩니다.
4. JS는 약한 형식이고 Java는 강한 형식입니다.
JavaScript 구문
각 언어에는 고유한 문법 규칙이 있습니다. JS 구문은 Java와 매우 유사하므로 배우기가 더 쉽습니다. JS에는 변수, 명령문, 함수, 배열 및 기타 공통 언어 요소도 있습니다.
1. 변수
는 var 키워드를 통해 정의됩니다. 약한 유형은 특정 데이터 유형을 지정할 필요가 없음을 의미합니다.
예: var x = 3(정의되지 않음)
참고: Javascript 명령문은 끝에 세미콜론으로 끝날 필요가 없습니다. 이는 엄격하지 않은 언어 기능입니다.
그런데 프로그래밍 표준을 따르려면 터미네이터를 자바처럼 정의해야 합니다.
그리고 어떤 경우에는 var x = 3; var y =5와 같이 세미콜론을 써야 합니다. 두 개의 명령문이 같은 줄에 쓰여지면 세미콜론으로 구분해야 합니다.
1) 키워드: Java와 거의 동일
2) 식별자, 구분자: Java와 동일
3) 설명: 이 두 가지 유형의 Java가 사용됩니다. : / / 및 /* */
4) 데이터 유형: 숫자 유형, 문자열 유형, 불리언 유형, 정의되지 않음(변수가 선언되었지만 할당되지 않은 경우)
5) 변수: var(weak) Type, Java의 Object와 유사)
6) js에서는 작은 따옴표와 큰 따옴표가 동일하며 문자열을 캡슐화합니다. (그러나 캡슐화할 따옴표가 동시에 두 개가 있으며 내부 따옴표는 반드시 작은따옴표 사용)
7) 전역변수와 지역변수
전역변수----함수 내부에서 선언하지 않는 한 그렇습니다. 그리고 중괄호나 3f1c4e4b6b16bbbd69b2ee476dc4f83a로 구분되지 않습니다.
b. Java에서는 변수 범위가 중괄호로 구분되지만 JS에서는 그렇지 않습니다.
로컬 변수---함수 내부에 선언된 형식 매개변수
함수 내부의 형식 매개변수도 로컬입니다. 그 안에서 변경된 값은 내부적으로만 유효하며 유효하지 않습니다.
예:
2. 연산자
<html> <head> <title>javascript语言学习</title> </head> <body> <script type="text/javascript"> //1 标识符,关键字,分隔符---几乎和Java一样 //2 注释:只支持 //单行 和 /*多行*/ //3 变量:弱类型 , 所有的变量都是用var来声明---本质上就是Java当中的Object类型 var x=3; var y="abc"; //alert(x+","+y); x="xyz"; //alert(x); x=true;//js当中的布尔类型和C一样,有0 和 非0 的概念 x+=1; //alert(x); a=3.14;//因为浏览器有兼容性,所以一个变量不声明类型也可以直接对期赋值(但不要去读),因为是弱类型,都是var,写不写一样 //alert(a); //alert(aa);//由于变量aa没有声明也没有赋值,所以这里是出错的,没有输出 a='aa'; //alert(a);//js当中,单引号和双引号是一样的,对应的变量都是字符串---js当中没有字符类型--包含在字符串当中 //a=33223232323232332322323232323456; //alert(a); //alert(typeof(a));//number //由于浏览器有兼容性,一条语句的末尾不加分号,也可以正常执行,但这样写不规范,建议还是加上。 //另外,同一行当中的多条语句之间的分号不能省,否则不能正常执行 var m=1; var n=2; //alert(m+n); </script> <script type="text/javascript"> //4 基本数据类型 //alert( typeof("aaaa") );//string //alert( typeof('0') );//string //alert( typeof(false) );//boolean //alert( typeof(100) );//number //alert( typeof(1.23) );//number //alert( typeof('0')=="string" );//true //alert (typeof(x)=='number');//true --使用单引号和双引号,效果是一样的 //alert( typeof('0')=="String" );//false----※※※大小写敏感※※※ //alert( typeof(x) ); //前面片段中定义的变量,在这里仍然是有效的 //alert( typeof(X) ); //undefined--代表该变量没有定义--因为前面只定义了小写的x </script> </body> </html>
작업 중 주의할 사항:
1, var x = 3120/1000*1000; x = 3000;
2, var x = 2.4+3.6; x = 6; 대신
3, var x = “12” + 1; – 1;
5, 삼항 연산자도 지원합니다.
6, 특수 연산자 typeof: 연산 표현식의 데이터 유형 문자열을 반환합니다.
var x = 3;
var y = “123”;
var z = false;
typeof(x); 🎜>
typeof(y); //string
typeof(z); //boolean
예:
3. 문장 형식은 동일합니다)
1. 판단구조(if문)
참고: var x = 3;
if(x==4)//comparison 작업을 수행할 수 있습니다.
<html> <head> <title>javascript语言学习</title> </head> <body> <script type="text/javascript"> //5 运算符:算术、赋值、比较、位运算、三元运算 //5.1算术运算 var a=3710; //alert("a="+a/1000); //alert("a="+a/1000*1000); var b=2.3; var c=5.7; //alert(b+c);//8 //alert(11+23);//34 //alert("23"+11);//2311---string---加号为字符串连接 //alert("23"-11);//12 ---字符串遇到减号,自动会转换成数值型进行运算 //alert(true);//true 和数值进行运算时,true为1,flase为0 //alert(true+1);//2 //alert(false+1);//1 //alert(100%3);//1 //alert(100%-3);//1 //alert(-100%3);//-1 如果有负数,结果和前面那个数同符号。---和Java是一样的 //5.2 赋值运算: = += -= *= /= %= var n=3,m; m=n++;//用法同Java //alert("m="+m+",n="+n);//m=3,n=4 var n=3,m;//和Java不同的是,变量可以重复声明 m = ++n;//用法同Java //alert("m="+m+",n="+n);//m=4,n=4 var n; //alert(n);//4---这里没有对该变量重新赋值,所以用的还是前面的那个,不重新开内存 var i=3; i +=3;//其它的如:-= *= /= %= ,同理 //alert("i="+i); //5.3 比较运算符 var j=10; //alert( j>5 ); //其它如 :< >= <= == != 等,同理 //alert( j==10 ); //alert( j!=10 ); //5.4 逻辑运算符 && || ! var k=4; //alert(k>3 && k<10); //true //alert( !(k>3) ); //false //alert( !k );//k是“非0”,再非一下则是flase---0 //5.5 位运算符 & | ^ >> << >>>(无符号右移) ---和Java一样 var c = 6; //6: 110 //3: 011 //alert( c&3 );// 010 --2 //alert(c^100^100); //c---6---一个数与两个相同的数进行异或运算结果仍然等于原数 //alert(c>>>1);//3 //5.6 三元运算符---?号表达式 ----和java一样 //alert(3>0?100:300); var xxyy; //alert(xxyy); //undefined---如果一个变量声明之后没有赋值,那么就是该值 alert(xxyy==undefined);//true ----这个undefined代表的是和true,false等一样的,是一个值,因此不要用引号 alert(xxyy=="undefined");//false </script> </body> </html>if(x=4)//Assignment 연산을 수행할 수 있고, 동일한 판단을 내릴 수 있습니다. 오류가 보고되지 않습니다.
JS에서는 0 또는 null이 false이므로
0이 아니거나 null이 아닌 것은 true(보통 1로 표시)입니다.
따라서 if(x=4)의 결과는 true입니다.
이 문제는 if(4==y)로 해결될 수 있습니다. 4=y는 판단을 내리지 않고 오류를 보고하기 때문입니다.
2. 선택 구조(switch 문)
Java와 다른 점은 Weak Type이므로 문자열도 선택할 수 있다는 점입니다.
3. 루프 구조(while 문, do...while 문, for 문).
참고: 차이점은 특정 데이터 유형에 제한이 없다는 점입니다. 사용 시 주의하시기 바랍니다.
예:
나인-나인 곱셈표 예:
위는 JavaScript 웹 프로그래밍의 기본 구문입니다(변수, 연산자, 명령문). , 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트(www.php.cn)를 주목하세요!
<html> <head> <title>javascript语言学习</title> </head> <body> <script type="text/javascript"> /* //if语句 var x=3; if (x>0){ alert("yes"); } else { alert("no"); } if (x-4) {//非0 即是 true,除了0以外的数都是非零的数,即为true alert("yes2"); } else { alert("no2"); } if (x=4) {//一个“=”号是赋值,赋的值是4,该值同时也作为整个表达式的值---非0, 即是 true alert("yes3"); } else { alert("no3");//如果把上面的4改为0,则输出: no3 } //根据上面的结果,建议如果是判断某变量是否等于某值,写成如下方式(把数字放在前面) if (4==x) {//这种方式能够避免漏写“=”号的bug alert("yes4"); } else { alert("no4"); } var b=(3,4+5);//逗号表达式中的最后一个式子的值作为整个的结果 alert(b); var c=5; if(c>1){ alert("a"); }else if(c>2){ alert("b"); }else if(c>3){ alert("c"); }else{ alert("d"); } //结果:a */ </script> <script type="text/javascript"> //Java语言:switch表达式支持的类型:byte,int等整数,char,jdk1.7之后增加了String类型 //JavaScript语言:支持所有类型,即所有类型的数据都能用于选择 var x="x"; switch(x){ default:alert("c"); case "aa":alert("a");break; case "abc":alert("b"); }//常规的写法就不说了,说说这种的,这种的显示结果是c和a,因为在default处进入之后并没有break所以会进入到case "aa"里面去 </script> </body> </html>