中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      萬惡的function在javascript中的運用實例分析

      時間:2024-10-29 08:52:21 JavaScript 我要投稿
      • 相關推薦

      萬惡的function在javascript中的運用實例分析

        javascript中最有特色而又讓你困惑的function算一個了

        下面看一下常用操作

        復制代碼 代碼如下:

        function doit(){

        .....

        }

        doit();

        javascript中的函數我們可以把它當作方法使用

        復制代碼 代碼如下:

        var obj=new Object();

        obj.say=function(){

        .....

        }

        obj.say();

        而function實際上就是對象(即Function類型的實例)

        復制代碼 代碼如下:

        function result(num1, num2) {

        return num1 + num2;

        }

        var result = new Function("num1", "num2", "return num1+num2");

        以上執行效果是一樣的,同時function result還可以這樣寫(即函數表達式)

        復制代碼 代碼如下:

        var result=function(num1,num2){

        return num1+num2;

        }

        這倆種寫法的唯一區別是function是優先執行,而函數表達式是代碼執行到才執行,另外每個函數內部都有一個類似數組的arguments對象

        函數執行動態參數,即

        復制代碼 代碼如下:

        function result(){

        return arguments[0]+arguments[1];

        }

        result(1,2);

        arguments在動態傳遞參數方面經常使用

        既然說function是對象,那么它應該也具體屬性

        復制代碼 代碼如下:

        function person(){

        ....

        }

        person.name="xxxx";

        person.say=function(){

        alert(this.name);

        }

        person.say(); //alert("xxxx")

        我們還可以把它當成類,而函數體相當于構造函數

        復制代碼 代碼如下:

        function Person(nm){

        this.name=nm;

        this.say=function(){

        alert(nm);

        alert(this.name);

        }

        }

        var p1=new Person("ygm1");

        p1.say(); //alert ygm1 ygm1

        var p2=new Person("ygm2");

        p2.say(); //alert ygm2 ygm2

        注意這里要用this.name 因為this代表的是當前對象,如果直接alert(name) 求的是window對象的屬性,同時傳進來的參數nm在方法say中可以直接用,其實這涉及到作用域鏈,每個function體就是一個作用域,子域可以訪問到父域的屬性,而反過來卻不行(其實也是可以取到的,設計到閉包一些知識,這里不做詳解..)

        與其他一些OO語言相比,每個類都可以有一些靜態屬性或方法,而javascript通過原型來模擬以達到每個對象共享其屬性

        復制代碼 代碼如下:

        function Person(num) {

        .....

        }

        Person.prototype.name = "ygm";

        alert(new Person().name);

        但OO語言的靜態方法都是由類去調用,不能實例化本身的,javascript中由于其特殊性恰好相反

        注意這里alertPerson的name屬性,如果函數體內沒有查找到name則會到原型中去找,如果查找到則會屏蔽原型中的name直接返回其值

        其實每創建一個function的同時也創建了一個原型對象,而原型對象引用自object,所以object是所有對象的基類

        我們可以重寫原型對象

        Person.prototype=new ParentPerson();

        Person的原型對象指向ParentPerson對象,而ParentPerson對象又指向自己的原型對象...,也就形成了原型鏈...

        好了 今天就寫到這里...

      【萬惡的function在javascript中的運用實例分析】相關文章:

      javascript閉包的定義及應用實例分析08-25

      JavaScript中push(),join() 函數實例詳解09-05

      JavaScript fontcolor方法入門實例07-07

      企業互聯網思維運用實例分析06-17

      標識設計中色彩運用分析10-13

      網絡營銷中的SWOT分析以及運用07-09

      JavaScript中的with關鍵字07-24

      在Java中執行JavaScript代碼07-14

      Javascript中typeof 用法歸納09-27

      Javascript函數的定義和用法分析08-15

      主站蜘蛛池模板: 成人免费观看在线播放视频| 一区二区三区四区亚洲综合| 精品一区二区三区在线观看l| 日本国产一区二区三区在线观看| 贞丰县| 国产精品久久精品久久精品久久| 九月色婷婷免费| 粉嫩国产白浆在线播放| 亚洲AV无码一区二区一二区教师| 日本人妻高清一区二区三区| 永久免费在线观看蜜桃视频 | 亚洲一区二区免费日韩| 长岭县| 许昌县| 加查县| 南郑县| 昌宁县| 阳朔县| 洪湖市| 南开区| 色播在线永久免费视频网站| 亚洲女同制服中文字幕| 婷婷国产亚洲性色av网站| 江阴市| 熟女丝袜美腿亚洲一区二区三区| 鸡泽县| 最近亚洲精品中文字幕| 大白屁股流白浆一区二区三区| 日韩精品人妻一区二区在线看| 沧州市| 国产日产亚洲系列av| 超碰在线公开中文字幕| 在线视频一区二区三区在线观看| 亚洲va欧美va人人爽夜夜嗨| 国产a级黄色一区二区| 国产中文字幕乱码在线| 亚洲人成影院在线高清| 精品国产你懂的在线观看| 国产剧情女孩操大逼视频| 亚洲AV小说在线观看| 亚洲最新av在线观看|