今天认真看了下JS的一些对象,有一个疑问。
var num=Number(10); undefined num.toString(8); "12" num.valueOf(); 10 var num1=new Number(10); undefined num1.toString(8); "12" num1.valueOf(); 10
当我同样的方法使用Date()的时候
var date=Date(); undefined Date.getMonth(); VM1166:2 Uncaught TypeError: Date.getMonth is not a function(…)(anonymous function) @ VM1166:2InjectedScript._evaluateOn @ VM976:904InjectedScript._evaluateAndWrap @ VM976:837InjectedScript.evaluate @ VM976:693 var date1=new Date(); undefined date1.getMonth(); 1 date "Wed Feb 03 2016 17:43:09 GMT+0800 (中国标准时间)"
直接创建Date()没法使用getMonth()等方法,而new之后可以,说明getMonth()是属于对象的方法了。
那Number那又是什么,为何函数和对象使用方法一样,结果也一样,实际运用中怎么区分呢
一个是静态方法,一个是实例的方法
虽然已经有采纳的答案,我觉得这是一个题目,顺手做了一个实验。