在JavaScript / ActionScript中重新定义Math.constructor是否有任何实际用途?
作者:互联网
Math对象没有prototype属性,但具有构造函数属性.有没有重新定义构造函数有用的情况?
解决方法:
MDN说:
Unlike the other global objects, Math is not a constructor. All properties and methods of Math are static.
在其他语言中,当类是静态的时,您可以直接使用其属性和方法,而无需创建该类(对象)的实例.如果使用Math构造函数,则不存在支持该对象的本机类型,与基本类型不同:Number,String,Boolean.它们可以使用包装器转换为对象.
此外,扩展根对象是一种不好的做法.如果将来在环境中实现新功能并且代码没有对此进行故障安全检查,则它将覆盖本机功能.
我个人认为你不是构造函数,也不是原型 – 你可以定义自己的数学函数. Math对象在这里只是为了呈现标准函数,并且为程序员提供了不定义Pi或E的杠杆作用.用户定义的数学函数可能比内置函数慢几倍.
标签:javascript,actionscript,constructor,ecmascript-5,jscript 来源: https://codeday.me/bug/20190712/1444417.html