if(!cv~>shapes~>purpose then
***
); if
!是非运算,在这里相当于如果cv指向的属性shapes~>purpose是nil(没有shapes或者没有shapes~>purpose的属性)就执行then后面的内容
if(!cv~>shapes~>layerName=="changedLayer" then
***
); if
这里的!跟上面的是一样的,但是!的优先级高于==,所以!cv~>shapes~>layerName不可能等于"changedLayer"的,所以不会执行then后面的内容,这里应该写成!(cv~>shapes~>layerName=="changedLayer" ...
if(!cv~>shapes~>purpose then
***
); if
!是非运算,在这里相当于如果cv指向的属性shapes~>purpose是nil(没有shapes或者没有shapes~>purpose的属性)就执行then后面的内容
if(!cv~>shapes~>layerName=="changedLayer" then
***
); if