JS对象转字符串保留方法,字符串转对象

var obj = {
            name:"zhangsan",
            age:20,
            say:function(name){
                console.log("My name is " + (name ? name : this.name));
            },
            hello:function(){
                console.log("Hello");
            },
            talk:function(name, age){
                console.log("My name is " + (name ? name : this.name) + ",my age is " + (age ? age : this.age));
            }
    };

    function stringifyObj(obj){
        var newObj = {};
        for(var key in obj){
            if(obj.hasOwnProperty(key) && obj[key] instanceof Function){
                newObj[key] = obj[key].toString().replace(/[\n\t]/g,"");
                continue;
            }
            newObj[key] = obj[key];
        }
        return JSON.stringify(newObj);
    }

    function parseObj(strObj){
        var obj = JSON.parse(strObj);
        var funReg = /function\s\(.*\)/;
        for(var key in obj){
            if(funReg.test(obj[key])){
                try{
                    var fun = (new Function("return " + obj[key]))();
                    if(fun instanceof Function){
                        obj[key] = fun;
                    }
                }catch(e){
                    console.log(e)
                }
            }
        }
        return obj;
    }
时间: 2024-10-09 10:24:01

JS对象转字符串保留方法,字符串转对象的相关文章

Node.js进程内存使用查看方法及返回对象的含义

1 前言 使用process.memoryUsage() ,然后可以得到一个对象如下: var mem = process.memoryUsage(); console.log(mem); 结果: { rss: 4935680, heapTotal: 1826816, heapUsed: 650472, external: 49879 } process.memoryUsage() 然而不知道rss是什么缩写,不知道其含义 2 说明 从nodejs api文档中找出来,截图如下 3.  查看当前

HTML DOM对象的属性和方法

HTML DOM对象的属性和方法 HTML DOM 对象有几种类型: 1.Document 类型 在浏览器中,Document 对象表示整个 HTML 文档. 1.1属性 引用文档的子节点 documentElement var html = document.documentElement; //取得对<html>元素的引用 body var body = document.body; //取得对<body>元素的引用 获取文档信息 title 通过 title 属性可以访问当前

js代码大全(各种方法、属性)《转载》

事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture();  event.srcElement.releaseCapture(); 事件按键 event.keyCode event.shiftKey event.altKey event.ctrlKey 事件返回值 event.returnValue 鼠标位置 event.x event.y 窗体活动元素 document.act

构建对象和数组的方法

js创建对象的6种方法 1.对象字面量方法 var person ={ name: "qinqin", age: 24, family: ["fanfan","ningning","lingling"], say: function(){ console.log(this.name); } }; 2.new操作符+Object创建对象 var person = new Object(); person.name = "

Python 获取对象的属性和方法—dir 函数

工作中,我们使用一些之前没用到过的模块,使用时需要了解一下这个模块中的一些类的方法或属性,怎么做呢?目前我比较常用的两款IDE“Pycharm”和“VSCode”,都可以通过先导包,然后通过“Ctrl+鼠标左键”,进入源码后观看并膜拜一下大神们的代码,当然也可以进入我们在项目中自己所定义的,然后进行快速修改,真的是很方便呢.但是有的时候,我们使用的环境没有这类的IDE,那该怎么学习我们要用的这些类方法和属性呢?方法当然很多,无论是小白,还是大神,百度谷歌大法都是比较快速和方便的.但是对于一些刚开

js便利json 数组的方法

js便利json 数组的方法 通过Jason对象获取里面某个键的值方法: 1,对象["键"]. 2,对象.键. 这篇文章主要介绍了JQuery遍历json数组的3种方法,本文分别给出了使用each.for遍历json的方法,其中for又分成两种形式,需要的朋友可以参考下 $(function () { var tbody = ""; //------------遍历对象 .each的使用------------- //对象语法JSON数据格式(当服务器端回调回来的对

javascript的类方法,对象属性,原型方法的相关理解

1.对象方法,属性:是属于对象实例层次上的方法,没创建一个实例,此实例便有了相应的对象方法,实例可以使用对象方法. eg:function People(name){ //对象属性,公有的(即每个实例都有一个此属性或方法) this.name = name; //对象方法,公有的 this.introduce = function(){ alert('my name = '+this.name); }: } 2.类方法,属性(静态方法,属性):作用在类层次的,不需要生成实例已经存在的属性,在内存

JavaScript之DOM-8 Event对象(事件概述、事件处理、event对象)

一.事件概述 事件概述 - 当用户与 Web 页面进行某些交互时,解释器就会创建相应的event对象以描述事件信息.常见的事件有: - 用户点击页面上的某项内容 - 鼠标经过特定的元素 - 用户按下键盘上的某个按键 - 用户滚动窗口或改变窗口大小 - 页面元素加载完成或加载失败 - ... - 1995年 IE4 浏览器就已经定义了自己的事件模型,而DOM模型2004年才最终确定标准的事件模型,并被其它浏览器所支持.所以事件处理需要注意兼容性问题 事件句柄 - 事件句柄(又称事件处理函数.事件监

js字符串转数组,转对象方法

1.数组转字符串 join var aArr = [1,2,2,2,2,3] var sStr = null; sStr = aArr.join("-"); console.log(sStr)//1-2-2-2-2-3 sStr = aArr.join("+"); console.log(sStr)//1+2+2+2+2+3 2.字符串转数组 var sStr = "abc,abcd,aaa"; var aArr = null; aArr = s