国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

            手機站
            千鋒教育

            千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

            千鋒教育

            掃一掃進(jìn)入千鋒手機站

            領(lǐng)取全套視頻
            千鋒教育

            關(guān)注千鋒學(xué)習(xí)站小程序
            隨時隨地免費學(xué)習(xí)課程

            當(dāng)前位置:首頁  >  技術(shù)干貨  > JS對象轉(zhuǎn)字符串的幾種方法

            JS對象轉(zhuǎn)字符串的幾種方法

            來源:千鋒教育
            發(fā)布人:xqq
            時間: 2023-11-23 00:03:12 1700668992

            一、JSON.stringify方法

            JSON.stringify方法是將一個javascript對象或值轉(zhuǎn)換成為一個 JSON字符串。

            使用方法如下:

            
              var obj = {
                name: 'Tom',
                age: 18,
                grade: {
                  math: 90,
                  english: 95
                },
                hobbies: ['reading', 'music']
              };
              var str = JSON.stringify(obj);
              console.log(str);
            

            執(zhí)行結(jié)果為:

            
              {"name":"Tom","age":18,"grade":{"math":90,"english":95},"hobbies":["reading","music"]}
            

            json字符串還可以通過JSON.parse方法轉(zhuǎn)換成js對象

            代碼如下:

            
              var obj = JSON.parse(str);
              console.log(obj);
            

            執(zhí)行結(jié)果為:

            
              {name: "Tom", age: 18, grade: {…}, hobbies: Array(2)}
            

            二、Function方法

            Function是js中的一個對象,它有一個toSource方法,可以把一個Function對象轉(zhuǎn)換成js代碼。如果把對象通過toSource方法轉(zhuǎn)為代碼,并去掉function(...)(){...}里的function和(),就可以得到這個對象的代碼形式。

            使用方法如下:

            
              var obj = {
                name: 'Tom',
                age: 18,
                grade: {
                  math: 90,
                  english: 95
                },
                hobbies: ['reading', 'music']
              };
              var str = (function(){return this;}).call(obj).toSource();
              console.log(str);
            

            執(zhí)行結(jié)果為:

            
              ({name:"Tom",age:18,grade:{math:90,english:95},hobbies:["reading","music"]})
            

            三、eval方法

            eval方法可以執(zhí)行一段字符串形式的js代碼,把一個js對象轉(zhuǎn)換成一個可執(zhí)行的js字符串,所以可以用eval方法直接把一個對象轉(zhuǎn)換成一個字符串。

            使用方法如下:

            
              var obj = {
                name: 'Tom',
                age: 18,
                grade: {
                  math: 90,
                  english: 95
                },
                hobbies: ['reading', 'music']
              };
              var str = eval('(' + JSON.stringify(obj) + ')');
              console.log(str);
            

            執(zhí)行結(jié)果為:

            
              {name: "Tom", age: 18, grade: {…}, hobbies: Array(2)}
            

            四、toString方法

            toString方法是Object對象的一個原型方法,可以將一個對象轉(zhuǎn)換成字符串。但是這個方法只能將一個對象轉(zhuǎn)換成"[object Object]"這種基本形式的字符串。

            我們可以通過重寫Object對象的toString方法來實現(xiàn)對象轉(zhuǎn)字符串。

            使用方法如下:

            
              Object.prototype.toString = function(){
                return JSON.stringify(this);
              }
              var obj = {
                name: 'Tom',
                age: 18,
                grade: {
                  math: 90,
                  english: 95
                },
                hobbies: ['reading', 'music']
              };
              console.log(obj.toString());
            

            執(zhí)行結(jié)果為:

            
              {"name":"Tom","age":18,"grade":{"math":90,"english":95},"hobbies":["reading","music"]}
            

            五、自定義方法

            我們也可以通過自定義實現(xiàn)將一個js對象轉(zhuǎn)換成字符串。

            示例代碼如下:

            
              function obj2str(obj, len){
                var ndeep = len || 1;
                var gap = ''; 
                var indent = ''; 
                var i = 0; 
                for(i = 0; i < ndeep; i++)
                {
                  indent += ' ';
                }
                gap = ndeep > 1 ? '\n' : '';
                if(typeof obj === 'object')
                { 
                  var str = '';
                  if(obj.constructor === Array)
                  { 
                    for(i = 0; i < obj.length; i++)
                    {
                      str += gap + indent + obj2str(obj[i], ndeep + 1) + ', ';
                    }
                    return '[' + str.slice(0, -2) + '\n' + indent + ']';
                  }
                  else
                  {
                    for(var prop in obj)
                    {
                      str += gap + indent + '"' + prop + '": ';
                      if(typeof obj[prop] === 'object')
                      {
                        str += obj2str(obj[prop], ndeep + 1) + ', ';
                      }
                      else if(typeof obj[prop] === 'function')
                      {
                        str += 'undefined' + ', ';
                      }
                      else
                      {
                        str += '"' + obj[prop] + '", ';
                      }
                    }
                    return '{' + str.slice(0, -2) + '\n' + indent + '}';
                  }
                } 
                else
                { 
                  if(typeof obj === 'string')
                  {
                    obj = '"' + obj + '"';
                  }
                  return String(obj);
                }
              }
            
              var obj = {
                name: 'Tom',
                age: 18,
                grade: {
                  math: 90,
                  english: 95
                },
                hobbies: ['reading', 'music']
              };
            
              var str = obj2str(obj);
              console.log(str);
            

            執(zhí)行結(jié)果為:

            
              {
               "name": "Tom", 
               "age": "18", 
               "grade": {
                "math": "90", 
                "english": "95"
               }, 
               "hobbies": [
                "reading", 
                "music"
               ]
              }
            

            六、總結(jié)

            以上是JS對象轉(zhuǎn)字符串的幾種方法,可以根據(jù)實際需要進(jìn)行選擇。需要注意的是,F(xiàn)unction和eval方法存在安全問題,建議不要在生產(chǎn)環(huán)境中使用。

            聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
            10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
            請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
            免費領(lǐng)取
            今日已有369人領(lǐng)取成功
            劉同學(xué) 138****2860 剛剛成功領(lǐng)取
            王同學(xué) 131****2015 剛剛成功領(lǐng)取
            張同學(xué) 133****4652 剛剛成功領(lǐng)取
            李同學(xué) 135****8607 剛剛成功領(lǐng)取
            楊同學(xué) 132****5667 剛剛成功領(lǐng)取
            岳同學(xué) 134****6652 剛剛成功領(lǐng)取
            梁同學(xué) 157****2950 剛剛成功領(lǐng)取
            劉同學(xué) 189****1015 剛剛成功領(lǐng)取
            張同學(xué) 155****4678 剛剛成功領(lǐng)取
            鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
            董同學(xué) 138****2867 剛剛成功領(lǐng)取
            周同學(xué) 136****3602 剛剛成功領(lǐng)取
            相關(guān)推薦HOT