<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
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        淺談javascript函數屬性和方法_javascript技巧

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

        淺談javascript函數屬性和方法_javascript技巧

        淺談javascript函數屬性和方法_javascript技巧:每個函數都包含兩個屬性:length 和 prototype length:當前函數希望接受的命名參數的個數 prototype:是保存他們所有實力方法的真正所在 代碼如下: function sayName(name) { alert(name); } function sum(num1, num2) {
        推薦度:
        導讀淺談javascript函數屬性和方法_javascript技巧:每個函數都包含兩個屬性:length 和 prototype length:當前函數希望接受的命名參數的個數 prototype:是保存他們所有實力方法的真正所在 代碼如下: function sayName(name) { alert(name); } function sum(num1, num2) {

        每個函數都包含兩個屬性:length 和 prototype
        length:當前函數希望接受的命名參數的個數
        prototype:是保存他們所有實力方法的真正所在

        代碼如下:
        function sayName(name) {
        alert(name);
        }
        function sum(num1, num2) {
        return num1 + num2;
        }
        function sayHi() {
        alert("hi");
        }
        alert(sayName.length);//1 參數個數一個
        alert(sum.length);//2 參數個數2個
        alert(sayHi.length);//0 沒有參數

        每個函數都包含兩個非繼承而來的方法:apply() 和 call()
        這兩個方法都是在特定的作用域中調用函數,實際上等于設置函數體內this對象的值
        首先apply()接受兩個參數:一個是函數運行的作用域,另一個參數數組(可以是數組實例也可以是arguments對象)

        代碼如下:
        function sum(num1, num2) {
        return num1 + num2;
        }
        function callSum1(num1, num2) {
        return sum.apply(this, arguments);//傳入arguments對象
        }
        function callSum2(num1, num2) {
        return sum.apply(this, [num1, num2]);
        }
        alert(callSum1(10, 10));//20
        alert(callSum2(10, 20));//30

        其次,call方法第一個參數沒有變化,變化的是其余的參數都是傳遞參數,傳遞給函數的參數需要逐個列舉出來

        代碼如下:
        function sum(num1, num2) {
        return num1 + num2;
        }
        function callSum(num1, num2) {
        return sum.call(this, num1, num2);
        }
        alert(callSum(10, 200));

        至于使用哪個方法更方便,完全取決于你的意愿。如果沒有參數,用哪個都一樣。
        但是,apply和call方法的出現絕對不是只是為了怎樣去船體參數。
        它們真正的用武之地在于擴充函數賴以運行的作用域。

        代碼如下:
        window.color = "red";
        var o = {color: "blue"};
        function sayColor() {
        alert(this.color);
        }
        sayColor();//red
        sayColor.call(this);//red
        sayColor.call(window);//red
        sayColor.call(o);//blue

        使用apply和call來擴充作用域的最大的好處就是不需要與方法有任何的耦合關系。

        ECMAScript5 還定義了一個方法:bind()。這個方法會創建一個函數的實例,其this值會被綁定到傳給bind函數的值

        代碼如下:
        window.color = "red";
        var o = {color: "blue"};
        function sayColor() {
        alert(this.color);
        }
        var bindFun = sayColor.bind(o);
        bindFun();//blue

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

        文檔

        淺談javascript函數屬性和方法_javascript技巧

        淺談javascript函數屬性和方法_javascript技巧:每個函數都包含兩個屬性:length 和 prototype length:當前函數希望接受的命名參數的個數 prototype:是保存他們所有實力方法的真正所在 代碼如下: function sayName(name) { alert(name); } function sum(num1, num2) {
        推薦度:
        標簽: js 函數 javascript
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 日韩欧美亚洲中文乱码| 亚洲午夜电影在线观看| 四虎影视在线看免费观看| 国产乱人免费视频| 国产天堂亚洲精品| 亚洲日本一区二区三区在线不卡| 自拍偷自拍亚洲精品播放| 浮力影院第一页小视频国产在线观看免费 | 久久免费高清视频| 日本亚洲视频在线| 96免费精品视频在线观看| 亚洲首页在线观看| 色妞WWW精品免费视频| 国产亚洲欧美在线观看| 亚洲精品无码久久不卡| 韩国免费a级作爱片无码| 亚洲成AV人片在线观看WWW| 3d成人免费动漫在线观看 | 亚洲五月综合缴情婷婷| 好爽…又高潮了毛片免费看| 亚洲AV无码一区二区三区牲色| 国产成人在线观看免费网站 | 美女视频黄a视频全免费网站色窝| 亚洲人成网www| 亚洲欧洲免费无码| 污网站在线免费观看| 国产成人综合亚洲亚洲国产第一页 | 亚洲国语精品自产拍在线观看| 99久久免费中文字幕精品| 国产午夜亚洲精品国产| www亚洲一级视频com| 成人黄网站片免费视频| 亚洲人成7777| 亚洲国产成人VA在线观看 | 操美女视频免费网站| 一级女性全黄生活片免费看| 亚洲成人动漫在线| 四虎影在线永久免费观看| 毛片在线全部免费观看| 亚洲av无码专区在线电影天堂 | eeuss影院免费92242部|