我正在尝试为课程制作一个基本的输入计算器,但是当我解决旧的时,我经常遇到问题。 以下是我到目前为止的情况:
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:通过静态类型编号
的引用访问可能未定义的属性未定义属性文本答案 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);
}