我正在尝试做这样的事情:
var something = "someValue";
some_btn.onPress = function (something) {
someFunction(something);
}
function someFunction (argument) {
trace(argument);
}
但它跟踪“未定义”。实现这一目标的正确方法是什么?
我正在尝试做这样的事情:
var something = "someValue";
some_btn.onPress = function (something) {
someFunction(something);
}
function someFunction (argument) {
trace(argument);
}
但它跟踪“未定义”。实现这一目标的正确方法是什么?
onPress()
不接受争论。
您可以像这样制作自己的新闻功能:
Object.prototype.myPress = function(str:String):Void
{
// Delete old onPress.
if(this["onPress"] != undefined) delete this.onPress;
// Add new onPress.
this.onPress = function():Void
{
someFunction(str);
}
}
用你的someFunction()
:
function someFunction(str:String):Void
{
trace(str);
}
然后像这样实现:
some_btn.myPress("hello");
这将起作用:
var something = "someValue";
some_btn.onPress = function () {
someFunction(something);
}
function someFunction (argument) {
trace(argument);
}
或者,这也将起作用:
var something = "someValue";
some_btn.onPress = function () {
someFunction();
}
function someFunction () {
trace(something);
}
发生这种情况是因为您将参数命名为您创建的全局变量名称:
var something = "someValue";
some_btn.onPress = function (something) { ...
这“创建了一个同名的局部变量”。由于局部变量具有偏好并且 onPress 不发送任何值,因此您得到了undefined
.
要解决此问题,请按照 net.uk.sweet 的建议从事件处理程序中删除变量:
some_btn.onPress = function () { ...