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

Posted ljfsmile0613

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Object.defineProperty()更改对象中的函数相关的知识,希望对你有一定的参考价值。

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

例子代码如下:

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

经过修改,函数的输出内容就变成了修改后的"锋哥是大帅哥!"了

至于这个函数的详细用法,可以参考链接:https://www.cnblogs.com/yangguoe/p/8055888.html

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

 

以上是关于Object.defineProperty()更改对象中的函数的主要内容,如果未能解决你的问题,请参考以下文章

理解Object.defineProperty()

Object.defineProperty 方法

理解Object.defineProperty方法

242 Object.defineProperty

所有浏览器的 Object.defineProperty?

Object.defineProperty