JS模拟 JSON.stringify 的基础功能实现
测试数据:
// 下面这个obj变量将用于测试 var obj = { a: 1, b: { c: 'hello', }, };
模拟实现:
/** * 模拟 JSON.stringify */ var stringify = function(data) { let str = ''; switch (typeOf(data)) { case 'object': str += '{'; for (const key in data) { if (data.hasOwnProperty(key)) { const value = stringify(data[key]); str += `${key}:${value},`; } } str += '}'; return str; case 'string': return '"' + data + '"'; case 'number': return '' + data; } }; /** * 判断数据类型 */ var typeOf = function(o) { const toString = Object.prototype.toString; return toString.call(o).slice(8, -1).toLowerCase(); };
模拟代码还没写完,后面继续补充