错误1191 - AS3中的基本输入计算器

时间:2015-02-26 03:07:22

标签: actionscript-3

我正在尝试为课程制作一个基本的输入计算器,但是当我解决旧的时,我经常遇到问题。 以下是我到目前为止的情况:

var answer

import flash.events.MouseEvent;

plus.addEventListener(MouseEvent.CLICK,aaa);

function aaa(e:MouseEvent)
{
var a:Number = Number(input1.text) + Number(input2.text)

a.text = String(a);
}

我现在遇到的问题是1119:通过静态类型编号

的引用访问可能未定义的属性未定义属性文本

1 个答案:

答案 0 :(得分:0)

对于初学者,您声明变量a的行没有分号:

var a:Number = Number(input1.text) + Number(input2.text) // missing semicolon

其次,您将a定义为Number。数据类型Number只有公共方法和常量,而不是公共变量,并且它的方法都不是text。因此a.text会给您错误。 AS3 - Number Reference

第三,Number数据类型有一个名为toString的方法。因此,只需拨打a.toString()而不是String(a)

最后,如果我知道你要做什么,我会提供见解。


更新

请尝试以下代码,并在评论中告诉我结果如何。

import flash.events.MouseEvent; // handle imports before anything else

var answer:String = ""; // holds the result of the addition as a String

// add a mouse click handler to the 'plus' object
plus.addEventListener(MouseEvent.CLICK, plusOnClick);

// 'plusOnClick' is the 'plus' object's mouse click handler
function plusOnClick(e:MouseEvent)
{
    // 'result' is used to hold the result of the addition as a Number
    var result:Number = Number(input1.text) + Number(input2.text)

    // set 'answer' to the String representation of 'result'
    answer = result.toString();

    trace("The result of the addition is " + answer);
}