ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript Web プログラミング-----基本構文 (変数、演算子、ステートメント)

JavaScript Web プログラミング-----基本構文 (変数、演算子、ステートメント)

黄舟
黄舟オリジナル
2016-12-30 16:51:071182ブラウズ

JavaScript の概要

JavaScript はオブジェクト駆動型およびイベント駆動型のスクリプト言語であり、主にクライアント側で使用されます。

特徴:

1. インタラクティブ性 (できることは情報の動的な対話のみ)

2. セキュリティ (ローカルハードドライブへの直接アクセスは許可されません)

3. JS を解釈できるブラウザ どのブラウザでも実行でき、プラットフォームとは関係ありません)

JavaScript は Java とは異なります

1 JS は Netscape Company の製品であり、以前は LiveScript でした Java は Sun の製品です。現在は Oracle Company の製品です。

2. JS はオブジェクトベースであり、Java はオブジェクト指向です。

3. JS は、実行する前に解釈する必要があるだけであり、まず Java をバイトコード ファイルにコンパイルしてから実行する必要があります。

4. JS は弱く型指定され、Java は強く型指定されます。

JavaScript 構文

各言語には独自の文法規則があり、JS 構文は Java に非常に似ているため、学習が簡単です。 JS には、変数、ステートメント、関数、配列、その他の共通言語要素もあります。

1. 変数

は、キーワード var によって定義されます。弱い型とは、特定のデータ型を指定する必要がないことを意味します。

例: var x = 3;

注: Javascript ステートメントは、非厳密な言語機能であるセミコロンで終わる必要はありません。

しかし、プログラミング標準に準拠するには、ターミネータを Java のように定義する必要があります。

また、場合によっては、var x = 3; var y =5 のように、セミコロンを記述する必要があります。2 つのステートメントを同じ行に記述する場合は、セミコロンで区切る必要があります。

1) キーワード: Java とほぼ同じ

2) 識別子、区切り文字: Java と同じ

3) コメント: 次の 2 つのタイプの Java が使用されます: // と /* */

4) データ型: 数値型、文字列型、ブール型、未定義 (変数が宣言されているが代入されていない場合)

5) 変数: var (弱い型、Java の Object に似ています)

6) js ではシングルクォートとダブルクォートは同じであり、文字列をカプセル化します (ただし、同時に 2 つの引用符があり、一重引用符が内部で使用されます)

7) グローバル変数とローカル変数

グローバル変数----内部にない限り関数 All が宣言されています。また、波括弧や 3f1c4e4b6b16bbbd69b2ee476dc4f83a

a によっても区別されません。変数が関数内で宣言されていない限り、インポートされた .js ファイル内で変数が宣言されている場合でも、その変数は引き続き有効です。ページスクリプト。

b. Java では変数のスコープは中括弧で区別されますが、JS ではそうではありません。

ローカル変数---関数内で宣言された仮パラメータ

関数内部で変更された値は内部でのみ有効であり、関数が戻った後は無効になります

例:

<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=&#39;aa&#39;;
	    //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(&#39;0&#39;) );//string
	    //alert( typeof(false) );//boolean
	    //alert( typeof(100) );//number
	    //alert( typeof(1.23) );//number
	    
	    //alert( typeof(&#39;0&#39;)=="string" );//true
	    //alert (typeof(x)==&#39;number&#39;);//true --使用单引号和双引号,效果是一样的
	    //alert( typeof(&#39;0&#39;)=="String" );//false----※※※大小写敏感※※※
	    //alert( typeof(x) ); //前面片段中定义的变量,在这里仍然是有效的
	    //alert( typeof(X) ); //undefined--代表该变量没有定义--因为前面只定义了小写的x
	</script>
	
</body>
</html>

2 . 演算子

Javascript の演算子は Java とほぼ同じです。

操作中に注意すべき点がいくつかあります:

1、var x = 3120/1000*1000; 3000 ではありません。

2、var x = 2.4+3.6; 6.0

3の代わりに、var x = "12" + 1;
プラス記号は次のとおりです。文字列の連結演算子

4、&& || は論理演算子 & | はビット単位の演算子です。

5、三項演算子もサポートします

6、特殊演算子 typeof: 演算式のデータ型の文字列を返します。

var x = 3;

var y = “123”;

var z = false;

typeof(x); //数値

typeof(y); //文字列

typeof(z); //boolean

例:

<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>

3. ステートメント (Java ステートメントと同じ形式)

1. 判定構造 (if ステートメント)


注: var x = 3;

if(x==4)//比較演算が可能です。

if(x=4)//代入演算もできるし、判定もできる。エラーは報告されません。

JS では 0 または null は false であるため、

非 0 または非 null は true (通常は 1 で表されます)。

したがって、if(x=4) の結果は true になります。

この問題は if(4==y) によって解決できます。 4=y では判定は行わず、エラーが報告されるためです。

2. 選択構造(switch文)

Javaとの違いは、弱い型のため文字列も選択できることです。

3. ループ構造 (while 文、do...while 文、for 文)。

注: 違いは、特定のデータ型に制限がないことです。使用する場合は注意してください。

例:

<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>

9-9 九九の例:
<html>
<head>
	<title>javascript语言学习</title>
	<link rel="stylesheet" href=table.css>
</head>
<body>
	
	<script type="text/javascript">
		a:for (var x=0;x<3;x++){
			for (var y=0;y<4;y++){
				document.write("x="+x+" ");
				break a;
			}
			document.write("<br/>");
		}
	</script>
	<hr/>
	<h2>九九乘法表</h2>
	<script type="text/javascript">
		for (var x=1;x<=9;x++){
			for (var y=1;y<=x;y++){
				document.write(y+"*"+x+"="+x*y+" ");
			}
			document.write("<br/>");
		}
	</script>
	<br/>
	<h2>九九乘法表</h2>
	<script type="text/javascript">
		document.write("<table>");
		for (var x=1;x<=9;x++){
			document.write("<tr>");
			for (var y=1;y<=x;y++){
				document.write("<td>"+y+"*"+x+"="+x*y+"</td>");
			}
			document.write("</tr>");
		}
		document.write("</table>");
	</script>
</body>
</html>

上記は、JavaScript Web プログラミングの基本的な構文 (変数、演算子、ステートメント) です。その他の関連コンテンツについては、PHP Chinese Net (www. php.cn)!


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。