使用原生JS進行字符串轉對象

字符串轉對象

目的

  • 工做中若是須要原生 JS 完成字符轉對象的話能夠經過 JSON.parse(str), 可是這個方法是ES5中才出現, 若是須要兼容低版本就須要其它方法
  • 使用原生 JS 解決字符串轉對象, 讓咱們更加容易處理

實現方法

// 獲得 對象 格式或  json 格式的一個字符串
    var str = '{"name":"張根碩","age":"18"}';
  1. 使用 ES5 中的方法 JSON.parse()
var first = JSON.parse(str);

ES5 中新添加的方法,將 json 格式字符串轉換爲對象json

  1. 使用 new Function 方法
var second = (new Function('return '+ str +';'))();
    var second = new Function('return '+ str +';')();

使用函數的構造函數方法(傳參只能傳字符串), 自調用(或者執行), 獲得對象瀏覽器

  1. 使用 eval() 方法
var third = eval('('+ str +')');

使用eval()方法, 傳入字符串須要給字符串添加 "()" 進行包裹
若是不使用 '()' 進行包裹,瀏覽器會將 ':' 解析成代碼塊,最終會獲得 ':' 後的結果**
'{"name" : "張全蛋"}' 最後會的到 '張全蛋' , 而 name 不顯示函數

  1. 使用 eval() 和 (function(){})() 方法
var forth = eval('(function(){return '+ str +';})()');

使用 eval() 方法, 將函數自調用, 獲得對象code

相關文章
相關標籤/搜索