国产探花免费观看_亚洲丰满少妇自慰呻吟_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>

 

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


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

圖片精選

主站蜘蛛池模板: 商城县| 渝北区| 宁晋县| 玉田县| 盖州市| 上饶市| 墨脱县| 惠州市| 禄丰县| 天峨县| 伊川县| 桐梓县| 井陉县| 松原市| 博客| 会同县| 察隅县| 广南县| 云霄县| 呈贡县| 奇台县| 无锡市| 托里县| 含山县| 卢湾区| 屯昌县| 丹棱县| 南乐县| 新建县| 安义县| 大丰市| 卓资县| 改则县| 仙游县| 绥德县| 卢龙县| 丰顺县| 井冈山市| 汽车| 华池县| 苍溪县|