javascript - 了解 console.log(console.log(object))
问题描述
我是编程和 js 的新手,我正在尝试学习 javascript 的症结所在。
var obj1 = {
name: 'rawn',
fn: function() {
console.log(this);
}
};
console.log(obj1.fn());
当我输出这个时,我得到了对象(如预期的那样) -{name: "rawn", fn: ƒ}
在另一行我得到 - undefined
。所以我的问题是为什么以及如何获得undefined
?
我的理解是,我们正在编写这一行 - console.log(obj1.fn());
as , console.log(console.log(this))
那么 javascript 引擎如何给出结果undefined
(在执行上下文中未定义的内容)?
解决方案
console.log(obj1.fn())
并且console.log(console.log(this))
根本不等价,但出于相同的原因,它们实际上具有相同的结果:内部函数没有return
任何作用。这些函数的返回值为undefined
. 这就是外部console.log
日志。
推荐阅读
- django - 如何在不以用户身份登录的情况下将数据发布到受限的 REST API url?
- node.js - 在柏树叉子中安装后
- gitlab - 即使在合并请求批准后 Gitlab 管道也会启动
- python - Discord.py message.reaction embed
- python - Wikipedia scraper 查找文章列表并将它们附加到数据框 Python
- javascript - 将带有数据属性的 json 反序列化为 json 数组中的对象列表
- javascript - 使用 VueJS 扩展 Tiptap Vuetify 时在编辑器内容中保留样式和类
- javascript - putState() 和 putPrivateData() 可以在同一个链码中使用吗?
- swiftui - 与事实源向后兼容的自定义绑定初始化
- oracle - 使用额外的列将所有值从一个表复制到另一个表的简单方法