老熟女激烈的高潮_日韩一级黄色录像_亚洲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
主站蜘蛛池模板: 亚洲精品久久AV无码蜜桃 | 国产特黄一级毛片 | 亚洲国产成人久久综合一区77 | 欧美精品毛片 | 欧亚乱熟女一区二区在线 | 揉捏奶头高潮呻吟视频 | 国内精品在线看 | 国产人妖在线播放网址 | 日韩夜精品精品免费观看 | 精品毛片乱码1区2区3区 | 国产偷久久一级精品60部 | 无码人妻AⅤ一区二区三区麻豆 | 成人av一区 | 一本久道在线视频 | 亚洲无人区码一码二码三码的特点 | 久久亚洲愉拍国产自367391 | 欧美一二三视频 | av一二三区| 内射爽无广熟女亚洲 | 噗嗤噗嗤高清在线视频www | 成人亚洲欧美久久久久 | 乱VODAFONEWIFI熟妇 | 久久精品国产清自在天天线 | 中文字幕无码中文字幕有码在线 | 中国一级黄色影片 | 亚洲一区二区三区四区五区不卡 | 国产欧美日韩精品一区二区被窝 | 91精品久久久久久综合乱菊 | 成人区人妻精品一区二区不卡 | 99riav国产精品视频 | 日韩午夜福利无码专区A | 色午夜日本高清视频WWW | 97国产小视频 | 国产射射射 | 亚洲午夜久久久久久久久久 | 99久久免费国内精品 | 青青一区二区三区 | 最近免费中文字幕大全高清MV | 日韩人妻中文无码一区二区三区 | 欧美xxxx色视频在线观看免费 | 亚洲第一综合色 |