1、为什么在js中,window对象和document对象不需要new,而其他的对象需要new?
2、js中,为什么有时候删除函数中的return,程序会显示未定义?
谢谢解答。
1、为什么在js中,window对象和document对象不需要new,而其他的对象需要new?
2、js中,为什么有时候删除函数中的return,程序会显示未定义?
谢谢解答。
window对象就跟jquery里的$一样,都不需要new,而且整个上下文,就只有一个,其实底层是通过单例模式实现的,它的构造函数里直接return了一个已经new好的window对象出来。
document是window的一个属性。
函数里没有写return默认返回undefined,return ;也是返回undefined
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
使用new运算符会重新生成一个对象,并把返回值指向这个对象,而window对象是全局执行上下文的变量对象,这个变量对象一开始就有的,如果window需要new,new第一个的时候即使可以指向已存在的变量对象,你再new一个指向谁?何况new都是执行一个新的对象。document只是window上一个属性,没必要new吧。
任何语言的函数都是有参数有返回值的,你不显示的返回并且当前没有使用new运算符会默认返回undefined。