04_12.箭頭函數(shù)的注意點.js

/*
 * @Author: Robyn 
 * @Date: 2017-10-31 20:27:24 
 * @Last Modified by:   Robyn 
 * @Last Modified time: 2017-10-31 20:27:24 
 */



// a.箭頭函數(shù)沒有自己的this,函數(shù)體內部寫的this,指向的是外層代碼塊的this
// this.name = "迪麗熱巴";
// this.age = 15;

// var girlFriend = {
//     name: "劉亦菲",
//     age: 16,
//     // showLove: function() {
//     //     console.log("大家好,我叫" + this.name + "今年" + this.age + "歲了,追命,么么噠!");
//     // }
//     showLove: ()=> {
//         console.log("大家好,我叫" + this.name + "今年" + this.age + "歲了,追命,么么噠!");
//     } 
// };
// girlFriend.showLove();


// b.箭頭函數(shù)內部的this是定義時所在的對象,而不是使用時所在的對象并且不會改變
// var girlFriend = {
//     name: "劉亦菲",
//     age: 16,
//     showLove: function() {
//         var fn = ()=> {
//             console.log(this.name);
//         }
//         return fn;
//     }
// };
// var fn = girlFriend.showLove();
// var obj = {
//     name: "迪麗熱巴"
// }
// fn.call(obj);

// c.箭頭箭頭函數(shù)不能用作構造函數(shù)
// var GirlFriend = function(name,age) {
//     this.name = name;
//     this.age = age;
// }
// var myGf = new GirlFriend("熱巴",15);
// console.log(myGf.name,myGf.age);

// var GirlFriend = (name,age)=> {
//     this.name = name;
//     this.age = age;
// }
// var myGf = new GirlFriend("熱巴",15);
// console.log(myGf.name,myGf.age);


// d.箭頭函數(shù)內部不存在arguments,箭頭函數(shù)體中使用的arguments其實指向的是外層函數(shù)的arguments
// function fn() {
//     console.log(arguments);//{ '0': 1, '1': 2, '2': 3, '3': 4, '4': 5, '5': 6, '6': 7, '7': 9 }
//     var fn1 = function() {
//         console.log(arguments);//{ '0': 'a', '1': 'b', '2': 'c' }
//     }
//     return fn1;
// }
// var fn1 = fn(1,2,3,4,5,6,7,8,9);
// fn1("a","b","c");
function fn() {
    console.log(arguments);
    var fn1 = ()=>{
        console.log(arguments);
    }
    return fn1;
}
var fn1 = fn(1,2,3,4,5,6,7,8,9);
fn1("a","b","c");
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容