请教JavaScript学习过程中碰到的两个问题。
各位大神双11快乐!
请教两个问题。
第一个:
最近看一本JavaScript的书,里面的函数(类似C#类的这种情况吧)定义总是类似这么写:
var Sprite = function(){}
但是我发现如果我写成:
Sprite(){}
这种形式运行起来也没什么问题,不过作者David Geary似乎是个超级猛人,按说应该是有什么特殊的好处才这么写吧,哪位能给讲讲这两种写法的却别呢?
第二个:
var Sprite = function (name,painter) {
if(name !== undefined) this.name = name;
if(painter !== undefined) this.painter = painter;
}
上面的代码为什么不写成
var Sprite = function (name,painter) {
this.name = name;
this.painter = painter;
}
如果形参name没有赋值,那不就是undefined么?那this.name就等于undefined好了,为何还要if(name !== undefined) this.name = name;这么写呢?