我是 JS 新手,研究了一些来自网络应用程序的代码。谁能告诉我这两个声明之间的区别,它们都是具有特色功能的对象吗?什么时候使用哪个声明?
a) 自我唤起功能:
namespace.myCanvas= (function(){
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
var foo = function(...){...}
return {
canvas: canvas,
context: context,
foo: foo
}
})();
b)一个可以提供有关对象信息的函数,我猜:
function makeRectangle(xPos, yPos, w, h) {
this.xPos= xPos;
this.yPos= yPos;
this.w= w;
this.h= h;
this.make= function() {
ctx.fillStyle = this.fill;
ctx.fillRect(this.xPos, this.yPos, this.w, this.h);
}
}