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
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
2 回答1.3k 阅读✓ 已解决
使用new运算符会重新生成一个对象,并把返回值指向这个对象,而window对象是全局执行上下文的变量对象,这个变量对象一开始就有的,如果window需要new,new第一个的时候即使可以指向已存在的变量对象,你再new一个指向谁?何况new都是执行一个新的对象。document只是window上一个属性,没必要new吧。
任何语言的函数都是有参数有返回值的,你不显示的返回并且当前没有使用new运算符会默认返回undefined。