JAvascriptの配列オブジェクトとjson学習ノート


1.Javascriptの配列
配列の作成
配列の下付き操作
配列の方法
 
concat join slice元の配列は変更しません
 
push pop unshift shift reverse sort splice元の配列を修正する
2.Javascriptにおける単純オブジェクトの作成と属性操作
単純オブジェクトの作成
単純オブジェクト属性の追加
単純オブジェクト属性へのアクセス
オブジェクトの直接量で属性を含むオブジェクトを定義します.
3.JSONデータフォーマット
JSON(Javascript Object Notation)は、軽量レベルのデータ交換フォーマットです.
純粋なテキスト、Javascriptオリジナルサポート
XMLと比較:
Javascriptは解析が速く、操作が便利で、DOMを使う必要がないという利点があります.
欠点は,サーバ側において正しいJSON形式のデータを生成することは,XML形式のデータを生成することに比べてサーバ側言語のアシストパッケージの成熟度が低いことである.
 
 
4.オブジェクト向けJavascript
クラスの定義
共通属性とメソッドの定義
プロトタイプオブジェクト
===================================================
1.Javascriptの配列
配列の作成
 <script type="text/javascript">
 
 		function arrayTest(){
 			//  new Array()
 			var array1 = new Array();
 			//  []   
 			var array2 = [];
 			
 			//             
 			//  new Array()  
 		  var array3 = new Array(1,2,3);
 		  //  []   
 		  var array4 = [1,2,3];
 		  
 		  //      
 		  //  new Array()  
 		  var array5 = new Array(1,new Array(2,3),4);
 		    
 		  //  []   
 		  var array6 = [1,[2,3],4];
 		  
 		  //       
 		  //           
 		  alert(array3[1]);
 		  //               
 		  array4[2] = 111;
 		  //          
 		  alert(array5[1][0]);
 		  //javascript              ,                    
 		  array[99] = 100;
 		  
 		  //      
 		  //concat,                   ,         ,         
 		  var array41 = array.concat(101,102,103);
 		  var array42 = array.concat([104,105]);
 		  var array43 = array.concat(array4);
 		  
 		  //join,              ,                ,         
 		  var strarray431 = array43.join("");//1211112111
 		  var strarray432 = array43.join("+");//1+2+111+1+2+111
 		  
 		  
 		  //slice,                ,           
 		  var slicearray1 = array43.slice(0,3);// 0    , 3             [1,2,111]
 		  var slicearray2 = array43.slice(4);// 4    ,                  [2,111]
 		  //               ,                          [2]
 		  var slicearray3 = array43.slice(-2,-1);
 		  
 		  
 		  //push,pop,       (push)   (pop)  ,          
 		  array43.push(200);
 		  array43.push(201,202);
 		  array43.push([201,202]);
 		  array43.push(array41);
 		  var arraypop = array43.pop();
 		  var arraypop = array43.pop();
 		  
 		  
 		  //unshift,shift,          (unshift)   (shift)   ,          
 		  array43.unshift(300);
 		  array43.unshift(301,302);
 		  array43.unshift([303,304]);
 		  var arrayshift = array43.shift();
 		  var arrayshift2 = array43.shift();
 		  
 		  //reverse,              ,        
 		  array43.reverse();
 		  
 		  //sort,                 ,        
 		  array43.sort();//  ,                      
 		  array43.sort(function(a,b){
 		  	return a-b;
 		  });//        ,         。        , a    b   
 		  
 		  array43.sort(function(a,b){
 		  	return b-a;
 		  });//        ,         。
 		  
 		  //splice,             ,            ,           ,            
 		  //     ,           
 		  //       
 		  array43.splice(index,howMany,element1,elementN);
 		  //              ,             
 		  var splicearray1 = array43.splice(4,2);//    4     ,      
 		  var splicearray2 = array43.splice(4); //    4     ,               
 		  
 		  array43.splice(1,0,400,401);//    1     ,0     ,  400,401
 		  array43.splice(1,0,[500,501]);//    1       500,501
 		  
 		
 		}
 
 </script>

===================================================================
2.Javascriptにおける単純オブジェクトの作成と属性操作
<script type="text/javascript">
 
 		function objectTest(){
 			//  1,  new Object()
 			var obj1 = new Object();
 			//  1,  {}   
 			var obj2 = {};
 			
 			//    ,  .   
 			//  new Array()  
 		  obj1.num = 1;
 		  obj1.str = "String";
 		  obj1.hell = function(){
 		  	alert("hello!");
 		  }
 		  obj2.obj = obj1;
 		  
 		  
 		  //     ,  1,  .   
 		  alert(obj2.obj.num);
 		  alert(obj2.obj.str);
 		  obj1.hello();
 		  //     ,  2,  []   
 		  alert(obj2["obj"]["num"]);
 		  alert(obj2["obj"]["str"]);
 		  obj1["hello"]();
 		 
 		  alert("");
 		  
 		  //         ,  {}
 		  var obj3 = {
 		  						num:1,
 		  						str:"String",
 		  						hello;function(){
											alert("hello!"); 		  						
 		  						}		  
 		  };

 		}
 
 </script>

======================================================================
3.JSONデータフォーマット
<script type="text/javascript">
 
 		function jsonTest(){
 			//JSON      
 			var json1 = "[1,2,{" + 
 													  "a:123,b:'String',c:[100,101]'" +
 			             "}]";
 			             
 			//javascript       eval(),   json          javascript       
 			var jsonArray = eval(json1);
 			
 			var json2 = "{" + 
 												"a:'hello', b:[1,2,3], c:function(){ alert(\"Hi!!!\") }" +
 			             
 			            "}";
 			//                
 			//var jsonObject = eval(json2);
 			
 			//     
 			var jsonobj = eval( "(" + json2 + ")" );
 			
 			
 			            json                ,     eval         ,
 			  javascript       。
 			          json          ,              (),
 			         ,     。

 			
 		}
 
 </script>

======================================================================
4.オブジェクト向けJavascript
<script type="text/javascript">
 		//javascript     ,   function   
 		/*
 		function Teacher(){
 		
 		}*/
 		
 		//              js   ,      function    
 		//         ,         function    
 		var Teacher = function(){
 		
 		}
 		
 		//    Book  ,  function             
 		//   new     Book     ,  function        
 		//    this      
 		/*
 		var Book = function(name){
 					//       
 					this.name = name;
 					//       
 					this.getName = function(){
 						return this.name;
 					};
 					this.setName = function(name){
 						this.name = name;
 					}
 		}*/
 		
 		
 		/*********************************************
 		//                
 		var Book = function(name){
 				//Book.prototype.name=name;
 				//    ,          ,  this   
 				this.name = name;
 		}
 		//Book.prototype.name="";//          ,    this.name,      ( )      name;
 		//     ,        
 		Book.prototype.setName = function(name){
 				this.name = name;
 		};
 		
 		Book.prototype.getName = function(){
 				return this.name;
 		};**************************************/
 		
 		
 		
 		//                
 		var Book = function(name){
 				//Book.prototype.name=name;
 				//    ,          ,  this   
 				this.name = name;
	
 				if(typeof Book._init = "undefined"){
 						//     ,        
		 				Book.prototype.setName = function(name){
		 					this.name = name;
		 				};
		 		
		 			  Book.prototype.getName = function(){
		 				 return this.name;
		 		    };
 				}
 				Book._init = true;
 		
 		};
 		
 		
 		
 		
 		function ooTest(){
 		   var teacher = new Teacher();
 		   alert(teacher instanceof Teacher);
 		   var book1 = new Book("AJAX");//  new              ,         
 		   var book2 = new Book("AJAX1");
 		   alert(book1.getName());
 		   alert(book2.getName());
 		   
 		   book1.setName("JAVA");
 		   alert(book1.getName());
 		   alert(book2.getName());
 		   
 		   //function          
 		   var proto = Book.prototype;
 		   proto.str = "String";
 		   proto.hello = function(){
 		   		alert("Hello");
 		   };
 		   //            ,         function,
 		   //            ,               
   
 		   
 		   alert();
 		
 		}
 
 </script>

-----------------------------------------------------------------
<script type="text/javascript">
 		//                   
 		var Teacher = function(){	
 		}
 		Teacher.prototype.student=[];
 	
 		Teacher.prototype.addStudent = function(sname){
 				this.student.push(sname);
 		};
 		
 		Teacher.prototype.showStudent = function(){
 				alert(this.student);
 		};
 		
 		
 		function oo4Test(){
 		   var teacher1 = new Teacher();
 		   var teacher2 = new Teacher();
   
 		   teacher1.addStudent("wang");
 		   teacher2.addStudent("lee");
 		   teacher1.showStudent();
 		   teacher2.showStudent();
 		   alert();
 		
 		}
 
 </script>