如果所有環境都一致地記錄相同的內容,那將真的有助于除錯!我無法在不同的 IDE 和瀏覽器中記錄正確的內容。
在閱讀了各種其他帖子(例如
但是,將相同的代碼粘貼到 Safari 的 JS 控制臺中,重要的部分錯誤地記錄為 just User {},沒有顯示物件的方法:

此外,CodePen 的重要部分只是記錄[object Object] {}:

而 VSCode 只是記錄{}.
所以我的問題是如何在所有環境中正確記錄物件的方法?由于某些節點代碼僅在 IDE 中運行,瀏覽器無法使用,因此嘗試除錯任何東西都會造成噩夢。
這來自一個錯誤,我從 mongo 資料庫中獲取一個物件,盡管該物件在插入資料庫之前具有方法,但奇怪地似乎沒有任何方法。
任何建議或除錯技巧將不勝感激,謝謝。
uj5u.com熱心網友回復:
不同的環境如何記錄一個物件是
顯示代碼片段
class User {
constructor(name) {
this.name = name;
}
fn() {
return 'fn';
}
fn2() {
return 'fn2';
}
static staticFn() {
return 'static fn'
}
}
const joe = new User('Joe')
const getMethods = (obj) => {
let curr = obj;
while(curr !== Object.prototype) {
const names = Object.getOwnPropertyNames(curr);
for(const key of names)
if(typeof curr[key] === "function")
console.log(key, curr[key]);
curr = Object.getPrototypeOf(curr);
}
}
getMethods(joe);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/488905.html
標籤:javascript 节点.js 调试 视觉工作室调试
