在 DevTools 中复制具有 属性 功能的对象
Copy object with function as a property in DevTools
在chrome 控制台中复制具有属性 功能的对象时,属性 会完全丢失。如何在 DevTools 中使用 copy()
并复制整个 属性 而不会丢失任何内容?
我看到的关于使用函数 属性 将 json 复制到剪贴板的唯一方法
const isArrowFn = (fn) =>
(typeof fn === 'function') &&
!/^(?:(?:\/\*[^(?:\*\/)]*\*\/\s*)|(?:\/\/[^\r\n]*))*\s*(?:(?:(?:async\s(?:(?:\/\*[^(?:\*\/)]*\*\/\s*)|(?:\/\/[^\r\n]*))*\s*)?function|class)(?:\s|(?:(?:\/\*[^(?:\*\/)]*\*\/\s*)|(?:\/\/[^\r\n]*))*)|(?:[_$\w][\w0-9_$]*\s*(?:\/\*[^(?:\*\/)]*\*\/\s*)*\s*\())/.test(fn.toString());
copy(
JSON.parse(
JSON.stringify(obj, (key, val) => {
if (typeof val === "function")
return !isArrowFn(val)
? val.toString().substring(
val.toString().indexOf("{") + 1,
val.toString().lastIndexOf("}")
)
: val.toString();
return val;
})
)
);
在chrome 控制台中复制具有属性 功能的对象时,属性 会完全丢失。如何在 DevTools 中使用 copy()
并复制整个 属性 而不会丢失任何内容?
我看到的关于使用函数 属性 将 json 复制到剪贴板的唯一方法
const isArrowFn = (fn) =>
(typeof fn === 'function') &&
!/^(?:(?:\/\*[^(?:\*\/)]*\*\/\s*)|(?:\/\/[^\r\n]*))*\s*(?:(?:(?:async\s(?:(?:\/\*[^(?:\*\/)]*\*\/\s*)|(?:\/\/[^\r\n]*))*\s*)?function|class)(?:\s|(?:(?:\/\*[^(?:\*\/)]*\*\/\s*)|(?:\/\/[^\r\n]*))*)|(?:[_$\w][\w0-9_$]*\s*(?:\/\*[^(?:\*\/)]*\*\/\s*)*\s*\())/.test(fn.toString());
copy(
JSON.parse(
JSON.stringify(obj, (key, val) => {
if (typeof val === "function")
return !isArrowFn(val)
? val.toString().substring(
val.toString().indexOf("{") + 1,
val.toString().lastIndexOf("}")
)
: val.toString();
return val;
})
)
);