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


字符串轉對象

目的

  • 工作中如果需要原生 JS 完成字符轉對象的話可以通過 JSON.parse(str), 但是這個方法是ES5中才出現, 如果需要兼容低版本就需要其它方法
  • 使用原生 JS 解決字符串轉對象, 讓我們更加容易處理

實現方法

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

ES5 中新添加的方法,將 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() 方法, 將函數自調用, 得到對象


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM