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