Flash 为什么我会得到“一个”;重复变量定义“;这里有错误吗?
它认为Flash告诉我我的数组tabData被复制了,但我只在代码的var部分设置了一次: 这是出现错误的行:Flash 为什么我会得到“一个”;重复变量定义“;这里有错误吗?,flash,actionscript-3,arrays,Flash,Actionscript 3,Arrays,它认为Flash告诉我我的数组tabData被复制了,但我只在代码的var部分设置了一次: 这是出现错误的行: for (var i in tabData) { TabMenu类 private-var-tabData:Array=[];// 我不知道flash,但在两个循环中都使用I作为循环变量这一事实是否存在问题?我认为它不应该——当然不会是Java——但也许就是这样 此外,与您的问题无关,这一行: tab.active = i < 1 ? tab.active = true :
for (var i in tabData) {
TabMenu类
private-var-tabData:Array=[];// 我不知道flash,但在两个循环中都使用I
作为循环变量这一事实是否存在问题?我认为它不应该——当然不会是Java——但也许就是这样
此外,与您的问题无关,这一行:
tab.active = i < 1 ? tab.active = true : tab.active = false;
tab.active=i<1?tab.active=true:tab.active=false;
这样更容易阅读:
tab.active = i < 1;
tab.active=i<1;
同样,假设flash像我更熟悉的语言一样工作。我不知道flash,但是在两个循环中都使用I
作为循环变量这一事实是一个问题吗?我认为它不应该——当然不会是Java——但也许就是这样
此外,与您的问题无关,这一行:
tab.active = i < 1 ? tab.active = true : tab.active = false;
tab.active=i<1?tab.active=true:tab.active=false;
这样更容易阅读:
tab.active = i < 1;
tab.active=i<1;
同样,假设flash像我更熟悉的语言一样工作。I
是重复变量,而不是tabData
。Actionscript只允许函数作用域,而不像许多(大多数)其他语言那样允许块作用域
将块级作用域变量提升到函数作用域称为提升
资源:
i
是重复变量,而不是tabData
。Actionscript只允许函数作用域,而不像许多(大多数)其他语言那样允许块作用域
将块级作用域变量提升到函数作用域称为提升
资源:
砰!就是这样:)我只是认为错误是在谈论tabData,当它谈论iYou仍然可以在两个循环中使用I时,只是不要在第二个循环中使用var I
。BAM!就是这样:)我只是认为错误是在谈论tabData,当它谈论iYou仍然可以对两个循环使用I时,只是不要在第二个循环中使用var I
。