国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

js實例屬性和原型屬性示例詳解

2024-05-06 16:10:51
字體:
來源:轉載
供稿:網友
本文通過實例向大家講述了js實例屬性和原型屬性,詳情請看注釋,看不懂的話,請放棄javascript吧。
 
 

詳情請仔細研讀注釋,這里就廢話少說,直接上代碼了。

 

復制代碼代碼如下:

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="UTF-8"> 
    <title>測試文檔</title> 
    <script type="text/javascript"> 
// 實質上屬性和方法是一樣的,方法是屬性為引用型的函數。 
//一個對象有4種屬性: 
//                 1,構造函數通過this關鍵字定義的屬性 
//                 2,構造函數通過var關鍵字定義的屬性 
//                 3,構造函數的原型對象添加的屬性 
//                 4,對象動態添加的屬性 
//實例的公有屬性:1      通過this關鍵字定義的屬性           可訪問   1,2,3,4 
//實例的私有屬性:2      通過var關鍵字定義的屬性。          可訪問   2 
//實例的共享屬性:3      通過實例指向的原型添加的屬性。      可訪問   1,3,4 
//實例的靜態屬性:4      對象動態添加的屬性。               可訪問  1,3,4

 

//總結: 
//     實例屬性: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>

 

小伙伴們是否看明白了,了解了實例屬性和原型屬性了嗎?本文講述的非常的詳細,推薦給大家,希望對小伙伴們能有所幫助


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 沛县| 南昌市| 油尖旺区| 奉新县| 交城县| 延吉市| 焉耆| 金华市| 长寿区| 丹东市| 峡江县| 合山市| 册亨县| 靖边县| 仁化县| 翁牛特旗| 兴山县| 绍兴县| 安溪县| 高雄市| 晋州市| 齐河县| 尼玛县| 屯留县| 广东省| 许昌市| 安塞县| 邳州市| 吉隆县| 古浪县| 临西县| 江阴市| 西吉县| 庆安县| 彩票| 平南县| 宣武区| 阿勒泰市| 吴旗县| 连南| 五大连池市|