老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

javascript是不是面向對象

這篇文章主要講解了“javascript是不是面向對象”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“javascript是不是面向對象”吧!

創新互聯成立以來不斷整合自身及行業資源、不斷突破觀念以使企業策略得到完善和成熟,建立了一套“以技術為基點,以客戶需求中心、市場為導向”的快速反應體系。對公司的主營項目,如中高端企業網站企劃 / 設計、行業 / 企業門戶設計推廣、行業門戶平臺運營、app軟件開發、手機網站開發、微信網站制作、軟件開發、西信服務器托管等實行標準化操作,讓客戶可以直觀的預知到從創新互聯可以獲得的服務效果。

javascript并不是嚴格意義的面向對象語言,而是一種基于對象、事件驅動編程的客戶端腳本語言。原因:面向對象包括三大特征:封裝、繼承、多態;而JavaScript中只有封裝,繼承也只是模擬繼承,談不上面向對象。

本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

javascript并不是嚴格意義的面向對象語言,而是一種基于對象、事件驅動編程的客戶端腳本語言;它不僅可以創建對象,也能使用現有的對象。

為什么JavaScript不是面向對象的語言?

因為面向對象包括三大特征:封裝、繼承、多態。JavaScript中只有封裝,繼承也只是模擬繼承,談不上面向對象。

所有說,在JavaScript中,一切都是對象,屬性、數組、函數等等都是對象。

JavaScript中沒有重載

javascript是不是面向對象

JavaScript中沒有重載,后面定義的同名函數會把前面的函數覆蓋掉,永遠只調用最后一個,而且JS中的形參只是占位符,定義兩個形參,可以只傳一個參數,只是為了方便程序員傳來的實參。

不寫形參時,實參不能方便使用占位符,這時使用隱式形參arguments[0]來訪問第一個實參,arguments[1]訪問第二個實參 等等。

使用函數模擬類

一般類的名稱首字母大寫,1.定義類時同時有了構造函數,2.方法的屬性值是函數。

示例:


            function Student (sno,sname,age) {
                this.sno = sno;
                this.sname = sname;
                this.age = age;
                this.study  = function(){
                    alert('我是'+this.sname+',我在學習')
                }
            }
            var stu = new Student(1,'xiaoming',20);
            stu.study();

使用Object類創建即時對象

delete stu.name;//可以刪除屬性

示例:


            var stu = new Object();
            stu.sno = 1;
            stu.sname = 'xiaoming';
            stu.age = 20;
            stu.study = function(){
                alert('我是'+this.sname+',我在學習');
            }
            stu.study();

模擬繼承

1、使用call()函數來模擬繼承



    
        
        
        
            function Person (name,age) {
                this.name = name;
                this.age = age;
                this.eat = function(){
                    alert('姓名:'+this.name+",年齡:"+this.age+",我在吃飯");
                }
            }
            function Student(sno,name,age){
                Person.call(this,name,age);//相當于super(name,age)
                this.sno = sno;
                this.study = function(){
                    alert('學號:'+this.sno+',姓名:'+this.name+",年齡"+this.age+",我在學習");
                }
            }
            var stu = new Student(1,'xiaoming',22);
            stu.eat();
            stu.study();
        
    
    
    

2、使用apply()函數來模擬繼承



    
        
        
        
            function Person (name,age) {
                this.name = name;
                this.age = age;
                this.eat = function(){
                    alert('姓名:'+this.name+",年齡:"+this.age+",我在吃飯");
                }
            }
            function Student(sno,name,age){
                Person.apply(this,[name,age]);//相當于super(name,age)
                this.sno = sno;
                this.study = function(){
                    alert('學號:'+this.sno+',姓名:'+this.name+",年齡"+this.age+",我在學習");
                }
            }
            var stu = new Student(1,'xiaoming',22);
            stu.eat();
            stu.study();
        
    
    
    

3、使用原型prototype模擬繼承



    
        
        
        
            function Person (name,age) {
                this.name = name;
                this.age = age;
                this.eat = function(){
                    alert('姓名:'+this.name+",年齡:"+this.age+",我在吃飯");
                }
            }
            function Student(sno,name,age){
                this.sno = sno;
                this.name = name;
                this.age = age;
                this.study = function(){
                    alert('學號:'+this.sno+',姓名:'+this.name+",年齡"+this.age+",我在學習");
                }
            }
            //1.創建父類對象
            var person = new Person();
            //2.子類.prototype = person;
            Student.prototype = person;
            //把父類的原型賦值給子類的原型,原型一致,模擬實現了繼承。
            //但是會丟失子類的屬性值,全變成了undefined,即使new 對象時加上了,也不起作用
            //打臉,xiaoming既吃飯也學習
            var stu = new Student(1,'xiaoming',20);
            //動態的添加方法,即使在new對象之前沒有這個方法
            Student.prototype.test = function() {
                alert('test動態添加方法');
            }
            stu.eat();
            stu.study();
            stu.test();
        
    
    
    

通過類的prototype屬性,可以獲知該類有那些屬性和方法。

//1.創建父類對象 
var person = new Person(); 
//2.子類.prototype = 父類對象 
Student.prototype = person ; 
//把父類的原型賦值給子類對象的原型,原型一致,模擬實現了繼承。

感謝各位的閱讀,以上就是“javascript是不是面向對象”的內容了,經過本文的學習后,相信大家對javascript是不是面向對象這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創新互聯,小編將為大家推送更多相關知識點的文章,歡迎關注!


新聞名稱:javascript是不是面向對象
URL鏈接:http://www.xueling.net.cn/article/ppjhji.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 林深见鹿在线观看 | 亚洲一区网站 | 少妇性色生活片在线观看 | 国产精品视频偷伦精品视频 | 香蕉久久夜色精品国产尤物 | 双乳奶水饱满少妇呻吟免费看 | 挺进朋友人妻的身体里 | 大又大又粗又硬又爽少妇毛片 | 国产一级片免费看 | 亚洲人成色4444在线观看 | 国产欧美日韩在线观看一区二区 | 练舞蹈被教练做高h | 无码国产精品久久一区免费 | 国产精品沙发系列 | 国产h视频在线观看播放 | 国产精品呻吟久久av图片 | 欧美激情在线一区二区 | 高清录播系统在线录播 | 乱淫的女高中调教h | 精品国产一区二区三区四区动漫a | 巨茎爆乳无码性色福利 | 女人张开腿让男人桶个爽 | 校花高潮抽搐冒白浆 | 偷拍区清纯另类丝袜美腿 | 婷婷综合另类小说色区 | 国产探花一区二区 | 国产成人激情视频 | 国产69久久精品成人看动漫 | 极品美女销魂一区二区三区免费 | 国产内射在线激情一区 | 中国一级淫片bbb | 爱情到此为止在线观看 | 東热精品中字久久无码五月天 | 成人影院在线观看 | 91麻豆国产视频 | 日韩色情一区二区无码AV | 偷拍区另类综合在线 | 亚洲午夜精品久久 | 韩国19禁视频一区二区 | 秋霞理论理论福利院久久 | 中文字幕一区在线观看 |