的作用

时间:2025-01-19 08:45:01

是一个用于序列化对象的方法

接受三个参数:(value,replacer,space)

第一个参数:value表示要被序列化的对象(接受对象或数组类型)

第二个参数:replacer表示对象中要序列化的属性(接受数组和函数类型)

第三个参数:space用于描述序列化后的缩进字符数,用于美化格式

面试(应用场景):

场景一:localStorage存储

loaclStorage只能存储字符串的存储类型 是键值对的格式

例:const obj={a:'1',b:'2'}

       ('key',obj)

       ('key') //'[object Object]' 存储失败

  解决:使用()

       ('key',(obj))

       ('key')  //'{"a":"1","b":"2"}'存储成功

       (('key'))  //{a:'1',b:'2'}再利用()提取出来

场景二:对象的深拷贝

例:let arr={a:'1',b:'2'}

       let arr2=arr

       ='111'

       ()//'111'

  解决:利用和给对象做深拷贝

       let arr3=((arr))

       ='2222'

       ()//'2'

场景三:删除对象属性

     方法1:delete方法删除

          let obj={a:'1',b:'2'}

         delete

         log(obj)//{b:'2'}

   方法2:利用()的第二个参数进行删除

      let obj = { a: "1", b: "2" };

      let obj1 = (

        (obj, (key, value) => {

          if (key === "b") {

            return undefined;

          } else {

            return value;

          }

        })

      );

      (obj1);  //{a:'1'}

或:

      let obj = { a: "1", b: "2" };

      let obj1 = (

        (obj,['b'])

      );

      (obj1);  //{a:'1'}