【发布时间】:2011-10-12 19:58:14
【问题描述】:
我习惯于用 python 编程并正在尝试学习 javascript。我希望该应用程序可以在 chrome 上运行,所以不在乎让它跨浏览器。我也想在不使用 jquery 或其他库的情况下编写它——因为我只是在学习 javascript。
我的普遍问题是,函数调用通常看起来像是被“跳过”了。我正在使用萤火虫,在控制台上看不到任何错误。因此,如果我在一个函数中有两个调用,则一个接一个地调用
mydict_user_values = return_dict_of_user_names()
alert("I HAVE USER VALUES " + mydict_user_values.length)
// This next line gets called sometimes before the previous line so the values in the table filled in by next line are blank even though the dictionary above has the correct length
fill_user_name_values_into_table(mydict_user_values)
我习惯了 python,不明白发生了什么。很抱歉提出一个抽象的问题,但是我没有得到关于 javascript 的一些基本知识。
已编辑:一天 -6 分。我很震惊!我知道我的代码中有一些严重的新手错误:我已经把它放在了所有新手的错误中。
https://github.com/harijay/gridzilla_web
我的典型功能:
function return_dict_of_user_names()
{
var my_new_dict
var my_user_names = document.getElementsByClassName("my_users");
for (var i = 0; i <= my_user_names.length ; i++){
var a_num = document.getElementById("user_number_" + i).value
var a_name = document.getElementById("user_name_" + i).value
my_new_dict[i] = [a_num,a_name]
}
return my_new_dict
}
然后我有其他 javascript 函数来获取这些值并填充同一页面的另一部分。
function fill_user_names_into_div(mydict){
var my_username_dict = mydict;
//Javascript code to fill in the values by lines like
my_fillable_elements = document.getElementsByClassName("user_table_fancy_entry")
for (var i = 0 ; i <= my_fillable_elements.length ; i++){
document.getElementById("usertable_user_number_" + i).value = my_username_dict[1][1]
}
【问题讨论】:
-
不,Javascript 语句是同步执行的。你还没有真正向我们展示一个可证明的问题,所以我认为这个问题无法回答。
-
大家好。关闭它不是那么快。提供的代码中存在 javascript 错误,我们可以帮助他们修复。
-
感谢 Tomalak 和 jfriend00 的耐心等待。我认为是一个很好的问题已经-3分了。我想即使说“帮助我的代码不起作用”也会得到不那么严厉的反应
标签: javascript function var