html5 challenge,html - HTML5 canvas challenge! - Stack Overflow

q1: is it possible to have an invisible rectangle?

Indeed it is!

ctx.fillStyle = 'rgba(255,255,255,0)';

ctx.fillRect(50,50,50,20);

Though this also works, and is a bit more concise:

;

q2: is it possible to call method upon method?

Conceivably you could do something like this:

//Naive generic chainer function

//returns this even if the default

//value is significant!

function chain(obj) {

function F() {}

F.prototype = obj;

var cobj = new F();

for (var i in obj) {

if (typeof obj[i] == 'function') {

//Function Bind-ish

cobj[i] = (function() {

var method = i;

return function() {

this.constructor.prototype[method].apply(this, arguments);

return this;

};

}());

}

}

return cobj;

}

var chained = chain(ctx);

chained.fillRect(0,0,200,200)

.fillRect(100,100,200,200)

.fillRect(400,400,100,100)

.fillText("I CAN HAS INVISDIBLE??", 250, 250);

But why bother when you can do this:

with (ctx) {

fillRect(100,100,200,200);

fillRect(300,300,100,100);

fillStyle = 'green'; //I CAN SEE

fillText("SCREW BEST PRACTICES");

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值