如何从JavaScript中的对象删除函数?

JSON.stringify()方法不仅对对象进行字符串化 ,而且还删除 了对象中存在的所有函数 。让我们详细讨论一下。

示例1

在下面的示例中,属性“ designation”是一个函数, 因此当我们尝试对对象进行字符串化时 ,该函数将被删除,并显示其他属性,如输出所示。

<html>
<body>
   <p id="stringify"></p>
   <script>
      var person = { name: "Rahim", designation: function () {return developer;},
      city: "Hyderabad" };
      var myJSON = JSON.stringify(person);
      document.getElementById("stringify").innerHTML = myJSON;
   </script>
</body>
</html>

输出结果

{"name":"Rahim","city":"Hyderabad"}

示例2

在下面的示例中,属性'name'充当函数, 因此当我们使用JSON.stringify()对对象进行字符串化时,该函数将被删除,并显示其他属性,如输出所示。 

<html>
<body>
   <p id="stringify"></p>
   <script>
      var person = { name: function () {return Ram + Rahim;},
      designation:"Developer" , city: "Hyderabad" };
      var myJSON = JSON.stringify(person);
      document.getElementById("stringify").innerHTML = myJSON;
   </script>
</body>
</html>

输出结果

{"designation":"Developer","city":"Hyderabad"}