真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

javascript是不是面向?qū)ο?/h1>

這篇文章主要講解了“javascript是不是面向?qū)ο蟆?,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“javascript是不是面向?qū)ο蟆卑桑?/p>

創(chuàng)新互聯(lián)成立以來(lái)不斷整合自身及行業(yè)資源、不斷突破觀念以使企業(yè)策略得到完善和成熟,建立了一套“以技術(shù)為基點(diǎn),以客戶需求中心、市場(chǎng)為導(dǎo)向”的快速反應(yīng)體系。對(duì)公司的主營(yíng)項(xiàng)目,如中高端企業(yè)網(wǎng)站企劃 / 設(shè)計(jì)、行業(yè) / 企業(yè)門戶設(shè)計(jì)推廣、行業(yè)門戶平臺(tái)運(yùn)營(yíng)、app軟件開(kāi)發(fā)、手機(jī)網(wǎng)站開(kāi)發(fā)、微信網(wǎng)站制作、軟件開(kāi)發(fā)、西信服務(wù)器托管等實(shí)行標(biāo)準(zhǔn)化操作,讓客戶可以直觀的預(yù)知到從創(chuàng)新互聯(lián)可以獲得的服務(wù)效果。

javascript并不是嚴(yán)格意義的面向?qū)ο笳Z(yǔ)言,而是一種基于對(duì)象、事件驅(qū)動(dòng)編程的客戶端腳本語(yǔ)言。原因:面向?qū)ο蟀ㄈ筇卣鳎悍庋b、繼承、多態(tài);而JavaScript中只有封裝,繼承也只是模擬繼承,談不上面向?qū)ο蟆?/p>

本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

javascript并不是嚴(yán)格意義的面向?qū)ο笳Z(yǔ)言,而是一種基于對(duì)象、事件驅(qū)動(dòng)編程的客戶端腳本語(yǔ)言;它不僅可以創(chuàng)建對(duì)象,也能使用現(xiàn)有的對(duì)象。

為什么JavaScript不是面向?qū)ο蟮恼Z(yǔ)言?

因?yàn)槊嫦驅(qū)ο蟀ㄈ筇卣鳎悍庋b、繼承、多態(tài)。JavaScript中只有封裝,繼承也只是模擬繼承,談不上面向?qū)ο蟆?/p>

所有說(shuō),在JavaScript中,一切都是對(duì)象,屬性、數(shù)組、函數(shù)等等都是對(duì)象。

JavaScript中沒(méi)有重載

javascript是不是面向?qū)ο?></p><p>JavaScript中沒(méi)有重載,后面定義的同名函數(shù)會(huì)把前面的函數(shù)覆蓋掉,永遠(yuǎn)只調(diào)用最后一個(gè),而且JS中的形參只是占位符,定義兩個(gè)形參,可以只傳一個(gè)參數(shù),只是為了方便程序員傳來(lái)的實(shí)參。</p><p>不寫(xiě)形參時(shí),實(shí)參不能方便使用占位符,這時(shí)使用隱式形參arguments[0]來(lái)訪問(wèn)第一個(gè)實(shí)參,arguments[1]訪問(wèn)第二個(gè)實(shí)參 等等。</p><p><strong>使用函數(shù)模擬類</strong></p><p>一般類的名稱首字母大寫(xiě),1.定義類時(shí)同時(shí)有了構(gòu)造函數(shù),2.方法的屬性值是函數(shù)。</p><p>示例:</p><pre><script type=             function Student (sno,sname,age) {                 this.sno = sno;                 this.sname = sname;                 this.age = age;                 this.study  = function(){                     alert('我是'+this.sname+',我在學(xué)習(xí)')                 }             }             var stu = new Student(1,'xiaoming',20);             stu.study();

使用Object類創(chuàng)建即時(shí)對(duì)象

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

示例:


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

模擬繼承

1、使用call()函數(shù)來(lái)模擬繼承



    
        
        
        
            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);//相當(dāng)于super(name,age)
                this.sno = sno;
                this.study = function(){
                    alert('學(xué)號(hào):'+this.sno+',姓名:'+this.name+",年齡"+this.age+",我在學(xué)習(xí)");
                }
            }
            var stu = new Student(1,'xiaoming',22);
            stu.eat();
            stu.study();
        
    
    
    

2、使用apply()函數(shù)來(lái)模擬繼承



    
        
        
        
            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]);//相當(dāng)于super(name,age)
                this.sno = sno;
                this.study = function(){
                    alert('學(xué)號(hào):'+this.sno+',姓名:'+this.name+",年齡"+this.age+",我在學(xué)習(xí)");
                }
            }
            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('學(xué)號(hào):'+this.sno+',姓名:'+this.name+",年齡"+this.age+",我在學(xué)習(xí)");
                }
            }
            //1.創(chuàng)建父類對(duì)象
            var person = new Person();
            //2.子類.prototype = person;
            Student.prototype = person;
            //把父類的原型賦值給子類的原型,原型一致,模擬實(shí)現(xiàn)了繼承。
            //但是會(huì)丟失子類的屬性值,全變成了undefined,即使new 對(duì)象時(shí)加上了,也不起作用
            //打臉,xiaoming既吃飯也學(xué)習(xí)
            var stu = new Student(1,'xiaoming',20);
            //動(dòng)態(tài)的添加方法,即使在new對(duì)象之前沒(méi)有這個(gè)方法
            Student.prototype.test = function() {
                alert('test動(dòng)態(tài)添加方法');
            }
            stu.eat();
            stu.study();
            stu.test();
        
    
    
    

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

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

感謝各位的閱讀,以上就是“javascript是不是面向?qū)ο蟆钡膬?nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)javascript是不是面向?qū)ο筮@一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!


分享名稱:javascript是不是面向?qū)ο?
文章網(wǎng)址:http://weahome.cn/article/ppjhji.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部