首页 > 其他分享 >js 复制/转换 window对象的全部属性内容 为字符串

js 复制/转换 window对象的全部属性内容 为字符串

时间:2023-05-01 23:44:15浏览次数:43  
标签:copy const object value circularReference window 字符串 js

控制台copy(window)不行,只得到[object Window]

copy(object) copies a string representation至于具体是怎么实现的嘛,猜测类似于.toString() of the specified object to the clipboard.(参考https://developer.chrome.com/docs/devtools/console/utilities/#copy-function)

 

copy(JSON.stringify(window))也不行,报错Uncaught TypeError: Converting circular structure to JSON

需要定义一个处理循环结构的函数,可以参考https://stackoverflow.com/questions/11616630/how-can-i-print-a-circular-structure-in-a-json-like-format

我是用的这个

const circularReference = {otherData: 123};
circularReference.myself = circularReference;

const getCircularReplacer = () => {
  const seen = new WeakSet();
  return (key, value) => {
    if (typeof value === "object" && value !== null) {
      if (seen.has(value)) {
        return;
      }
      seen.add(value);
    }
    return value;
  };
};

const stringified = JSON.stringify(circularReference, getCircularReplacer());

console.log(stringified);



标签:copy,const,object,value,circularReference,window,字符串,js
From: https://www.cnblogs.com/hhdom/p/17367206.html

相关文章

  • 使用Socks5代理在Windows上实现更安全的网络连接
    作为一名网络工程师,我们经常需要在不同的网络环境下工作,这可能会给我们的计算机安全带来一定的风险。使用Socks5代理是一种简单而有效的方式,可以在Windows操作系统上提高网络安全性,本文将介绍如何在Windows上设置和使用Socks5代理。什么是Socks5代理?Socks5代理是一种网络协议,它可以......
  • 分析Windows二进制文件和嵌入式资源
    环境介绍可以去看一下我上一篇文章开始将题目解压到目录里一共有48个可执行程序我们随意选择一个文件拖入ida分析一下用peid分析一下文件,发现这个程序是32位的,而且没有加密和混淆将文件拖入ida如果以后遇到不知道程序从哪开始的话,可以查看左边那一栏的函数,或者windows特别查找......
  • Vue.js 简介与入门指南
    Vue.js是一个轻量级的JavaScript框架,用于构建交互式的用户界面。Vue.js的核心是一个用于构建组件化应用的视图层库,它易于上手,且能够快速地构建出高效、灵活、易于维护的应用程序。Vue.js受到了许多开发者的欢迎,因为它允许使用简单的HTML模板来创建可重用的组件,这些组件可以......
  • JSX语法介绍
    title:02-JSX语法介绍publish:trueJSX介绍JSX的引入如果直接让用户通过JS代码手动创建DOM元素,肯定是非常麻烦的。于是,React官方就提出了一套JSX语法规范,能够让我们在JS文件中,书写类似于HTML那样的代码,快速定义虚拟DOM结构。JSX的全称JSX:JavaScriptXML,一种类......
  • json字符串的解析和遍历
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><metahttp-equiv="X-UA-Compati......
  • json相关
    json中根据键获取值参考链接:http://yuxisanren.iteye.com/blog/1895807https://blog.csdn.net/w405722907/article/details/72828041......
  • 当前标识(IIS APPPOOL\XX)没有对“C:\Windows\Microsoft.NET\Framework64\4.0.30
    当前标识(IISAPPPOOL\WMS.APP)没有对“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\TemporaryASP.NETFiles”的写访问权限。解决此问题为在使用Windows的IIS搭建服务器时,遇到的问题。在网上尝试了各种解决方法后,终于找到了一个可以解决问题的方法,以管理员身份运行命令......
  • DataWindowHTTP(三)服务器安装-WEBSERVER
    本组件需要的一个webserver+PHP环境,版本要求为apache2.4+PHP8.0。可以通过两种方式安装:自动安装包(一键安装包)一键安装包有:XAMPP,PhpStudy,Appserv,wampserver,wnmp,DedeAMPZ,LNMP(linux)。到目前较多为apache2.4+php7.x,很快应该会支持到最新的php8.x。二.手工安装配置手工配置,不依赖其他工......
  • Datawindow如何降低版本
    datawindow有时需要从高版本导入到低版本去。因为兼容性的问题,高版本添加了一些新属性,但是保留了低版本的大部分特性。所以我们只要安装pb提示删除新的属性就能导入到低版本中。如图操作1.低版本中随便新建一个dw,然后命名与高版本中这个dw相同2.右键,editsource,复制粘贴高版本的dw源......
  • 字符串操作
    字符串的基本操作对象通常是字符串整体或者其子串,很多时候我们希望对子串进行操作,这是字符串与数组不同的地方之一。且字符串部分操作比数组更加复杂,如比较和连接操作。在c++中,字符串可以用==来实现比较,也可以直接进行连接操作,但是在其他语言如java中不可以直接实现且字符串不可变......