1
import flash.text.TextField;
var txtBack:TextField=new TextField();

txtBack.text="\n";

trace(txtBack.text=="\n");
trace(txtBack.text=="");

トレースが false になるのはなぜですか?

4

2 に答える 2

0

textプロパティを TextField に割り当てると、暗黙的に呼び出されるtrim()か、末尾の改行のみが削除されます。簡単なテストは次のようなものでした:

            tf = new TextField();
        tf.text = 'a'; 
        addChild(tf); // to make traces valid
        trace(tf.textHeight); // traces 15
        tf.text = 'a\na'; 
        trace(tf.textHeight); // traces 30 - yes, 2 lines
        tf.text = 'a\n'; 
        trace(tf.textHeight); // traces 15!

これで、verticalText()関数は改行文字で終了する文字列を返しました。これは、設定するとトリミングされるため、結果tf.textと等しくなくなりverticalText()ます。

于 2013-06-07T15:56:18.620 に答える