如何替换为()

问题描述

我一直在阅读 with() 并试图找出如何重写这段代码

    _$createRootItemAreas: function() {
        var areaSize = 50;
        var sides = { y2: 0,x2: 0,y1: 'y2',x1: 'x2' };
        for( side in sides ) {
            var area = this.root._$getArea();
            area.side = side;
            if( sides [ side ] )
                area[ side ] = area[ sides [ side ] ] - areaSize;
            else
                area[ side ] = areaSize;
            with( area )
                surface = ( x2 - x1 ) * ( y2 - y1 );
            this._itemAreas.push( area );
        }
    },

应该是:

area.surface = ( x2 - x1 ) * ( y2 - y1 );

area.surface = ( area.x2 - area.x1 ) * ( area.y2 - area.y1 );

解决方法

area.surface = ( area.x2 - area.x1 ) * ( area.y2 - area.y1 );

是解决方案。我找到了相同代码的另一个版本,其中有人已经解决了问题并提供了解决方案。

感谢@Bergi 的解释。