let d = arguments[1]('./t.js'); console.log(d); function abc() { let obj = { name: '15' } obj.__proto__ = { bb(str) { console.log(str); }, }; obj.__proto__.constructor = function() { } return obj } function fn(that, cb) { return function() { cb.call(that) } } abc.prototype.sayHello = function() { setTimeout(new fn(this, function() { console.log(`你好,我叫${this.name}`); }), 15); } let b = new abc(); console.log(b.name); //{ name: '15' } console.log(typeof b); //obj console.log(abc.sayHello); b.bb('-------'); //------- console.log(b.sayHello); //undefined function abc3() { this.name = 'n' } abc3.prototype.sayHello = function() { console.log(`你好,我叫${this.name}`); } // abc3.sayHello(); //error // let c = new(() => { // let obj = { // name: '15' // } // obj.__proto__ = this; // return obj // })(); // console.log(c); //ok let a = () => { console.log(arguments); }; // console.log(arguments); arguments[2]