これは練習問題(一):

1601 ワード

亲爱なる友达、みんなはすべてjsの中でthisが白にとって难しいことを指していることを知っていて、みんなはthisが指していることを见て、それから次の9つの练习问题をします:自分がthisが问题を指していることを掌握したかどうかを见ます;//1
function a() {
    var user = "    ";
    console.log(this.user);
}
a();

//2
var o = {
    user: "    "",
    fn: function () {
        console.log(this.user);
        console.log(this);
    }
}
o.fn();

//3
var o = {
    a: 10,
    b: {
        //a:12,
        fn: function () {
            console.log(this.a);
        }
    },
    fn1: function () {
        console.log(this.a);
    }
}
o.fn1();
o.b.fn();

//4
function fn() {
    this.user = '    "';
    return {};
}
var a = new fn;
console.log(a.user);

//5
function fn() {
    this.user = '    "';
    return function () {};
}
var a = new fn;
console.log(a.user);

//6
function fn() {
    this.user = '    "';
    return 1;
}
var a = new fn;
console.log(a.user);

//7
function fn() {
    this.user = '    "';
    return undefined;
}
var a = new fn;
console.log(a.user);

//8
function fn() {
    this.user = '    "';
    return null;
}
var a = new fn;
console.log(a.user);

//9
var o = {
    a: 10,
    b: {
        a: 12,
        fn: function () {
            console.log(this.a);
            console.log(this);
        }
    }
}
var j = o.b.fn;
j();

皆さんはどのくらいで仕上げましたか?