詳情請仔細研讀注釋,這里就廢話少說,直接上代碼了。
			//總結: 
			//     實例屬性:1,公有 
			//              2,私有 
			//              4,靜態 
			//     原型屬性:3,共享
			//this定義的為特權屬性。全部可訪問 
			//var定義的為私有屬性。 
			//動態添加的屬性為公有屬性。不可訪問私有屬性
//實例對象指向的原型屬性為原型屬性。不可訪問私有屬性,優先級低于公有屬性
			//實例屬性主要有公有屬性和特權屬性構成。均可被外部和原型屬性訪問。主要區別在于是否可訪問私有屬性 
			//原型屬性優先級低于實例屬性。可被外部訪問和實例屬性訪問(除私有屬性)
			
			//-----------------此處為分割線----------------------------- 
			// 公有屬性:對象暴露給外部環境的屬性。也是對象的屬性。 
			// 私有屬性:對象內部的屬性,往往不可訪問.在構造函數層面上考慮才有意義。 
			// 靜態屬性:動態添加的屬性。也是對象的屬性。 
			// 共有屬性:所有構造函數生成的實例所共享的屬性。
			       function User(){ 
			//           公有屬性:每new一個User實例對象,都有的屬性。 
			//                    為實例屬性,所有實例的屬性不共享內存。 
			//                    外部可訪問。 
			           this.name='byronvis'; 
			//           特權方法:每new一個User實例對象,都有的方法。 
			//                    為實例方法,所有實例的方法不共享內存。 
			//                    外部可訪問。 
			//                    可訪問公有屬性。 
			//                    可訪問私有屬性。 
			           this.sayName=function(){ 
			            alert(this.name); 
			               alert(this.school); 
			            alert(age);//變量聲明會自動提前。 
			            alert(this.sex); 
			           }; 
			//           私有屬性:外部不可訪問。 
			//                    僅對構造函數有意義,對于new的User實例對象無意義。 
			           var age=22; 
			//           私有方法:外部不可訪問。 
			//                    僅對構造函數有意義,對于new的User實例對象無意義。 
			           function sayAge(){ 
			               alert(age); 
			           } 
			           sayAge(); 
			       } 
			//       共有屬性: 共享內存。 
			       User.prototype.school='zky'; 
			//       共有方法:可訪問公有屬性。 
			//                共享內存。 
			       User.prototype.saySchool=function(){ 
			           alert(this.school); 
			           alert(this.name); 
			           alert(this.sex); 
			           alert(age); 
			       }; 
			        var obj=new User(); 
			//       靜態屬性:就是動態添加的實例屬性。 
			        obj.sex='man'; 
			//       靜態方法:就是動態添加的實例方法。 
			        obj.saySex=function(){ 
			            alert(this.sex); 
			            alert(this.name); 
			            alert(this.school); 
			            alert(age); 
			        }; 
			//-----------------此處為分割線----------------------------- 
			////      證明this關鍵字定義的屬性和動態添加的屬性本質上一樣的,都可認為是實例對象的公有屬性。 
			//       驗證: this關鍵字定義的屬性訪問動態添加的屬性 
			//        obj.sayName();//true 
			//        驗證:動態添加的屬性訪問this關鍵字定義的屬性 
			//        obj.saySex();//true 
			//        驗證:公有屬性訪問私有屬性 
			//        obj.sayName();//true 
			           obj.saySex();//false 
			//        驗證:共享屬性訪問私有屬性 
			//        obj.saySchool();//false
			   </script> 
			</head> 
			<body> 
			    測試文檔 
			</body> 
			</html>
小伙伴們是否看明白了,了解了實例屬性和原型屬性了嗎?本文講述的非常的詳細,推薦給大家,希望對小伙伴們能有所幫助
新聞熱點
疑難解答
圖片精選