下述代码的执行结果为() let obj1 = { name: ‘张三’, getName() { return this.name; } } let obj2 = { name: ‘李四’, getName() { return super.getName(); } } Object.setPrototypeOf(obj2, obj1); console.log(obj2.getName());
区块链毕设网qklbishe.com为您提供问题的解答
下述代码的执行结果为()
let obj1 = { name: '张三', getName() { return this.name; } } let obj2 = { name: '李四', getName() { return super.getName(); } } Object.setPrototypeOf(obj2, obj1); console.log(obj2.getName());
在 ES6 的对象字面量中,使用 `super` 调用原型上的方法时,**该方法中的 `this` 仍然指向当前对象**,而不是原型对象。 在这段代码里: “`js let obj1 = { name: ‘张三’, getName() { return this.name; } }; let obj2 = { name: ‘李四’, getName() { return super.getName(); } }; Object.setPrototypeOf(obj2, obj1); console.log(obj2.getName()); // ? “` 1. `Object.setPrototypeOf(obj2, obj1)` 将 `obj1` 作为 `obj2` 的原型,因此 `obj2.getName` 内部调用 `super.getName()` 实际上是去找 `obj1.getName` 方法。 2. **但**在 JavaScript 中,使用 `super.getName()` 时,虽然 `getName` 方法是从原型对象(`obj1`)上拿到的,但其中的 `this` 依然是 **当前的 `obj2`**。 3. 因此 `obj1.getName` 返回的 `this.name` 实际上是 `obj2` 的 `name` 值 `’李四’`。 也就是说,这里不是把 `this` 替换成了 `obj1`,而是保留了原来的调用者 `obj2` 作为上下文,所以会得到 **"李四"**。
58:02
以上就是关于问题下述代码的执行结果为()
let obj1 = { name: ‘张三’, getName() { return this.name; } } let obj2 = { name: ‘李四’, getName() { return super.getName(); } } Object.setPrototypeOf(obj2, obj1); console.log(obj2.getName());的答案
欢迎关注区块链毕设网-
web3一级市场套利打新赚钱空投教程
区块链NFT链游项目方科学家脚本开发培训
从业7年-专注一级市场
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 下述代码的执行结果为()
let obj1 = { name: ‘张三’, getName() { return this.name; } } let obj2 = { name: ‘李四’, getName() { return super.getName(); } } Object.setPrototypeOf(obj2, obj1); console.log(obj2.getName());
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 下述代码的执行结果为()
let obj1 = { name: ‘张三’, getName() { return this.name; } } let obj2 = { name: ‘李四’, getName() { return super.getName(); } } Object.setPrototypeOf(obj2, obj1); console.log(obj2.getName());
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 下述代码的执行结果为()
let obj1 = { name: ‘张三’, getName() { return this.name; } } let obj2 = { name: ‘李四’, getName() { return super.getName(); } } Object.setPrototypeOf(obj2, obj1); console.log(obj2.getName());
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 下述代码的执行结果为() let obj1 = { name: ‘张三’, getName() { return this.name; } } let obj2 = { name: ‘李四’, getName() { return super.getName(); } } Object.setPrototypeOf(obj2, obj1); console.log(obj2.getName());