Object.defineProperty()更改对象中的函数

这个方法可以修改javascript中的对象的属性值,但是例子只讲了如何修改对象中的属性值,却没有讲如何修改对象里面的方法,所以这里补充下:

例子代码如下:

 1 <!DOCTYPE html>
 2 <html>
 3 <body>
 4 <h1>JavaScript defineProperty()</h1>
 5 <p id="demo"></p>
 6 <script>
 7  // 创建对象:
 8 var person = {
 9   firstName: "Bill",10   lastName : "Gates",
10   language : "NO",
11  myFunction : function() {return "锋哥真帅!";}
12  };
13  // 更改属性:
14 Object.defineProperty(person, "myFunction", { value:function(){return "锋哥是大帅哥!"}
15 });
16 document.getElementById("demo").innerHTML = person.myFunction();
17 </script>
18 </body>
19 </html>

经过修改,对象方法的输出内容就变成了修改后的"锋哥是大帅哥!"了

至于Object.defineProperty()的详细用法,可以参考链接:https://www.cnblogs.com/yangguoe/p/8055888.html

对了以上代码可以直接粘贴在w3School运行看结果即可:https://www.w3school.com.cn/tiy/t.asp?f=js_object_defineproperty_2

原文地址:https://www.cnblogs.com/ljfsmile0613/p/13169364.html