开发者

Javascript class properties always undefined

in my following class definition my width, height, columns etc. are always undefined when calling my drawElipse method.

However in my page I set all the properties.

$(document).ready(function() {
    var element = $('#positioning_canvas');
    element.click(scientificBox.click);
    scien开发者_JS百科tificBox.columns = 9;
    scientificBox.rows = 9;
    scientificBox.canvas = element.get(0);
    etc.

How to solve this?

var scientificBox = new function () {
var aliquotHeight;
var aliquotWidth;

this.width = 500;
this.height = 500;
this.columns = 9;
this.rows = 9;
this.canvas = null;
this.imageRoot = "";

var drawElipse = function (ctx, x, y, w, h) {
    var kappa = .5522848;
    var ox = (w / 2) * kappa;  // control point offset horizontal
    var oy = (h / 2) * kappa; // control point offset vertical
    var xe = x + w;           // x-end
    var ye = y + h;           // y-end
    var xm = x + w / 2;       // x-middle
    var ym = y + h / 2;       // y-middle


In the following code snippet I have created a class named ScientificBox with two properties and one method (I'm not quite sure if this is the solution that you are asking for).

    function ScientificBox() {
        this.width = 9;
        this.height = 9;

        this.drawElipse = function () {
            alert(this.width * this.height);
        }
    }

You can call this class then by the following code:

    var box= new ScientificBox();
    box.drawElipse();

I've tested this and it works. Maybe this is the solution that you are looking for?

Best regards.

Edit: I've forgot to mention to show a code example of setting properties on the class.

    var test = new ScientificBox();
    test.width = 12;
    test.height = 2;
    test.drawElipse();
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜