gpt4 book ai didi

actionscript-3 - ActionScript – 无类型变量的默认数据类型?

转载 作者:行者123 更新时间:2023-12-04 06:46:16 28 4
gpt4 key购买 nike

如果我没有在代码中专门键入一个变量,它会编译为默认数据类型吗?例如,“for each ... in”函数在不输入变量的情况下效果最好:

for each (var element in myArray)
{
//process each element
}

我的元素变量有数据类型吗?如果它被输入为 Object 是实际编写 element:Object 还是它重要?

编辑

实际上,这是一个糟糕的例子,因为元素变量将被输入到 myArray 中的任何元素。

但是如果一个变量是无类型的,它是如何工作的?它会简单地变成传递给它的东西吗?

这是我的问题的一个更好的例子:
var a = "i'm a string"; //does this var becomes a String?

var b = 50.98; //does this var becomes a Number?

var c = 2; //does this var becomes an int?

最佳答案

for each (var element in myArray)


element变量没有任何数据类型——它是无类型的,因此可以容纳任何东西。

是的,这相当于写 element:Objectelement:* ,但始终建议输入变量 - 这将帮助您在运行代码之前捕获一些错误。如果你不这样做,mxmlc 编译器会发出警告,这可以通过输入 e:Object 来修复。或 e:* .
var a = 45.3;  //untyped variable `a`
a = "asd"; //can hold anything

/*
This is fine: currently variable `a` contains
a String object, which does have a `charAt` function.
*/
trace(a.charAt(1));

a = 23;
/*
Run time error: currently variable `a` contains
a Number, which doesn't have a `charAt` function.
If you had specified the type of variable `a` when
you declared it, this would have been
detected at the time of compilation itself.
*/
trace(a.charAt(1)); //run time error


var b:Number = 45.3;
b = "asd"; //compiler error
trace(a.charAt(1)); //compiler error

关于actionscript-3 - ActionScript – 无类型变量的默认数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3735235/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com