相关疑难解决方法(0)

JavaScript的"with"语句是否有合法用途?

艾伦风暴回应我关于with声明的回答的评论让我思考.我很少找到使用这种特定语言功能的理由,并且从未考虑过如何引起麻烦.现在,我很好奇如何有效地利用with它,同时避免陷阱.

你在哪里发现该with声明有用?

javascript language-features with-statement

364
推荐指数
14
解决办法
7万
查看次数

修改 JavaScript 的内置原型是一种反模式吗?

我从这篇文章中了解到,Object在 JavaScript 中修改原型是一种反模式。然而,我很好奇,它是否被广泛认为是修改其他“内置”原型的反模式。

例如:假设我们想添加一个setPixel(x,y,color)函数到CanvasRenderingContext2D- 抽象出获取上下文图像数据、将像素设置为特定颜色以及将图像数据放回的职责。

CanvasRenderingContext2D.prototype.setPixel = function(x, y, color){
    var imgdata = this.createImageData(1,1);
    imgdata.data[0] = color.r;
    imgdata.data[1] = color.g;
    imgdata.data[2] = color.b;
    imgdata.data[3] = color.a;
    this.putImageData(imgdata,x,y);
};
Run Code Online (Sandbox Code Playgroud)

我还没有测试过这段代码,但你明白了。这样的事情是否违反了“最佳实践”?

javascript prototype canvas anti-patterns

2
推荐指数
1
解决办法
1308
查看次数