91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JS面向對象

發布時間:2020-08-05 21:40:06 來源:網絡 閱讀:323 作者:心月草 欄目:web開發
1.創建對象
window.onload=function(){
        //1.工廠模式:
        function student1(name,qq){
                var obj=new Object();
                obj.name=name;
                obj.qq=qq;
                obj.show=function(){
                        alert(this.name+":"+this.qq);
                }
                return obj;
        }
        var s1=student1("HH","123");
        console.log(s1);

        //2.構造函數:
        function Student2(name,qq){
                this.name=name;
                this.QQ=qq;
                this.show=function(){
                        alert(this.name+":"+this.QQ);
                }
        }
        var s2=new Student2("HH","1234");
        console.log(s2);

        //3.字面量方式:
        var s3={
                "name":"HH",
                "QQ":"12345",
                show:function(){
                        alert(this.name+":"+this.QQ);
                //alert(name+":"+QQ);//錯誤!!!
                }
        }
        //s3.show();
        //console.log(s3.name+":"+s3.QQ);
        console.log(s3);
        //我們在定義函數的時候,函數本身就會默認有一個prototype的屬性,而我們用new運算符來生成一個對象的時候就沒有prototype屬性。如:
        console.log(s1.prototype);//undefined;
        console.log(student1.prototype);//Object;
        console.log(s2.prototype);//undefined;
        console.log(Student2.prototype);//Object;
        console.log(s3.prototype);//undefined;

        function Student4(){ };
        Student4.prototype = {
                name:"fdf",
                age:"fd",
                //字面量創建的方式使用constructor屬性不會指向實例  而是指向object
                // 強制修改
                constructor :Student
        };
        var s4 = new  Student();
        alert(s4.constructor);
}
2.原型
window.onload=function(){
        function Student(){};
        Student.prototype.name="HH";
        Student.prototype.show=function(){
                alert("I am "+this.name);
        }

        var s=new Student();
        //s.show();
        //alert(s.name);
        Student.prototype.name="FF";
        //alert(s.name);
        //原型方式創建對象的缺陷:1.不能傳參; 2.一改全改

        function Student1(){
                this.name="FF";
        };
        Student1.prototype.name="HH";
        Student1.prototype.show=function(){
                alert("I am "+this.name);
        }
        var s1=new Student1();

        console.log(s1.name);//FF
        console.log(s1.__proto__.name);//HH
        console.log(Student1.prototype.name);//HH

        Student1.prototype.name="O_O";

        console.log(s1.name);//FF
        console.log(s1.__proto__.name);//O_O
        console.log(Student1.prototype.name);//O_O

        //通過原型改變的屬性和方法不會改變對象原有的屬性和方法
}
3.混合模式
window.onload=function(){
        //混合模式: 構造函數+原型
        function Student(name,QQ){
                this.name=name;
                this.QQ=QQ;
                if(typeof this.show != "function"){
                        Student.prototype.show=function(){
                                //alert(this.name+":"+this.QQ);
                                console.log(this); // this指s1
                        }
                }
        }
        var s1=new Student("MM","1242");
        s1.show();
        var s2=new Student("QQ","w809r809ew");
        console.log(s1.show==s2.show);//true;通過Student創建的對象共用函數show,其保存在Student的原型中,故引用地址是一樣的。
}
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黎城县| 河源市| 喀喇| 大新县| 黄龙县| 迭部县| 秦皇岛市| 黔南| 祁连县| 南澳县| 友谊县| 微博| 鹤庆县| 美姑县| 古丈县| 绥芬河市| 潍坊市| 土默特左旗| 莱阳市| 黄大仙区| 新安县| 东光县| 郸城县| 阿合奇县| 新乐市| 海安县| 安达市| 得荣县| 宣威市| 盐池县| 通渭县| 宾川县| 泸西县| 咸阳市| 会泽县| 泉州市| 板桥市| 马山县| 唐海县| 贵溪市| 高尔夫|