<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        Javascriptcall和apply區別及使用方法_基礎知識

        來源:懂視網 責編:小采 時間:2020-11-27 21:15:41
        文檔

        Javascriptcall和apply區別及使用方法_基礎知識

        Javascriptcall和apply區別及使用方法_基礎知識:一、方法的定義call方法: 語法:fun.call(thisArg[, arg1[, arg2[, ...]]])定義:調用一個對象的一個方法,以另一個對象替換當前對象。說明:call 方法可以用來代替另一個對象調用一個方法。call 方法可將一個函數的對象上下文從初始的上下文改變為由 thi
        推薦度:
        導讀Javascriptcall和apply區別及使用方法_基礎知識:一、方法的定義call方法: 語法:fun.call(thisArg[, arg1[, arg2[, ...]]])定義:調用一個對象的一個方法,以另一個對象替換當前對象。說明:call 方法可以用來代替另一個對象調用一個方法。call 方法可將一個函數的對象上下文從初始的上下文改變為由 thi

        一、方法的定義
        call方法:
        語法:fun.call(thisArg[, arg1[, arg2[, ...]]])
        定義:調用一個對象的一個方法,以另一個對象替換當前對象。
        說明:
        call 方法可以用來代替另一個對象調用一個方法。call 方法可將一個函數的對象上下文從初始的上下文改變為由 thisArg 指定的新對象。
        如果沒有提供 thisArg參數,那么 Global 對象被用作 thisArg。

        apply方法:
        語法:fun.apply(thisArg[, argsArray])
        定義:應用某一對象的一個方法,用另一個對象替換當前對象。
        說明:
        如果 argArray 不是一個有效的數組或者不是 arguments 對象,那么將導致一個 TypeError。
        如果沒有提供 argArray 和 thisArg 任何一個參數,那么 Global 對象將被用作 thisArg, 并且無法被傳遞任何參數。

        二、兩者區別
        兩個方法基本區別在于傳參不同
        2.1、call方法:
        代碼如下:
        function Product(name, price) {
        this.name = name;
        this.price = price;
        if (price < 0)
        throw RangeError('Cannot create product "' + name + '" with a negative price');
        return this;
        }

        function Food(name, price) {
        Product.call(this, name, price);
        this.category = 'food';
        }
        Food.prototype = new Product();

        function Toy(name, price) {
        Product.call(this, name, price);
        this.category = 'toy';
        }
        Toy.prototype = new Product();

        var cheese = new Food('feta', 5);
        var fun = new Toy('robot', 40);

        2.2、apply方法:
        代碼如下:
        function Product(name, price) {
        this.name = name;
        this.price = price;
        if (price < 0)
        throw RangeError('Cannot create product "' + name + '" with a negative price');
        return this;
        }

        function Food(name, price) {
        Product.apply(this, arguments);
        this.category = 'food';
        }
        Food.prototype = new Product();

        function Toy(name, price) {
        Product.apply(this, arguments);
        this.category = 'toy';
        }
        Toy.prototype = new Product();

        var cheese = new Food('feta', 5);
        var fun = new Toy('robot', 40);

        三、作用實例

        3.1、類的繼承
        代碼如下:
        function Person(name,age){
        this.name = name;
        this.age=age;
        this.alertName = function(){
        alert(this.name);
        }
        this.alertAge = function(){
        alert(this.age);
        }
        }

        function webDever(name,age,sex){
        Person.call(this,name,age);
        this.sex=sex;
        this.alertSex = function(){
        alert(this.sex);
        }
        }

        var test= new webDever(“設計蜂巢”,24,”男”);
        test.alertName();//設計蜂巢
        test.alertAge();//24
        test.alertSex();//男

        3.2、回調函數
        代碼如下:
        function Album(id, title, owner_id) {
        this.id = id;
        this.name = title;
        this.owner_id = owner_id;
        };
        Album.prototype.get_owner = function (callback) {
        var self = this;
        $.get(‘/owners/' + this.owner_id, function (data) {
        callback && callback.call(self, data.name);
        });
        };
        var album = new Album(1, ‘設計蜂巢', 2);
        album.get_owner(function (owner) {
        alert(‘The album' + this.name + ‘ belongs to ‘ + owner);
        });

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Javascriptcall和apply區別及使用方法_基礎知識

        Javascriptcall和apply區別及使用方法_基礎知識:一、方法的定義call方法: 語法:fun.call(thisArg[, arg1[, arg2[, ...]]])定義:調用一個對象的一個方法,以另一個對象替換當前對象。說明:call 方法可以用來代替另一個對象調用一個方法。call 方法可將一個函數的對象上下文從初始的上下文改變為由 thi
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲人成影院在线高清| 国产精品jizz在线观看免费 | 精品香蕉在线观看免费| 久久国产精品亚洲综合| 国产成人免费AV在线播放| 国产亚洲综合成人91精品| 两个人看的www高清免费视频| 相泽亚洲一区中文字幕| gogo免费在线观看| 亚洲中文字幕无码永久在线| 中文在线观看永久免费| 久久精品国产精品亚洲蜜月 | 性做久久久久久免费观看| 亚洲精品无码专区| 免费一级特黄特色大片在线观看| 美女扒开屁股让男人桶爽免费| 亚洲国产精品第一区二区三区 | 久久免费观看国产精品| 亚洲av一本岛在线播放| 免费无码成人AV片在线在线播放| 成a人片亚洲日本久久| 亚洲亚洲人成综合网络| 午夜不卡久久精品无码免费 | 亚洲精品中文字幕麻豆| 毛片免费在线观看网站| 国产成人精品亚洲一区| 在线观看亚洲天天一三视| 免费无码成人AV在线播放不卡| 亚洲成a人片在线看| 亚洲国产91精品无码专区| 国产一区二区免费| 伊人久久五月丁香综合中文亚洲 | 日本黄网站动漫视频免费| 无码亚洲成a人在线观看| 国产亚洲AV无码AV男人的天堂| 亚洲免费一级视频| 污视频网站免费观看| 亚洲综合综合在线| 亚洲国产午夜中文字幕精品黄网站| 久久午夜免费鲁丝片| 青娱乐在线免费观看视频|