<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
        主站蜘蛛池模板: 国产免费变态视频网址网站| www.999精品视频观看免费| 亚洲av午夜精品一区二区三区 | 久久亚洲综合色一区二区三区| 亚洲a∨无码一区二区| 全黄a免费一级毛片人人爱| 免费人成又黄又爽的视频在线电影| 日韩a级毛片免费视频| 色偷偷亚洲男人天堂| 亚洲AV日韩精品一区二区三区| 色妞www精品视频免费看| 亚洲精品偷拍视频免费观看| 成在线人直播免费视频| 亚洲第一极品精品无码久久| 香蕉成人免费看片视频app下载| 麻豆亚洲AV永久无码精品久久| 日本片免费观看一区二区| 国产AV旡码专区亚洲AV苍井空| 成人免费无码精品国产电影| 一区二区三区免费在线视频| 久久亚洲综合色一区二区三区| 2019中文字幕在线电影免费| 亚洲色大成网站www| 亚洲不卡无码av中文字幕| 在线观看免费视频网站色| 亚洲国产中文在线二区三区免| 日本不卡在线观看免费v| 一个人免费播放在线视频看片| 亚洲精品天天影视综合网| A级毛片内射免费视频| 特级毛片爽www免费版| 久久水蜜桃亚洲av无码精品麻豆| 最近最新MV在线观看免费高清 | 成人国产网站v片免费观看| 亚洲AV无码乱码国产麻豆| 久久受www免费人成_看片中文| 丁香六月婷婷精品免费观看| 亚洲精品mv在线观看| 亚洲伊人久久综合影院| 久久精品国产免费观看 | 国产精品亚洲专区在线播放|