js赋值问题 本帖最后由 u011941411 于 2013-09-17 13:34:24 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var str="";var callback = function(a) { alert('传值来源:' + a.origin + ',值是:' + a.data);str=a.data}//能弹出值,现在我想把a.data赋值给str,要怎么做var mdata=?不明白你的意思 str = a.data ,这样子不就可以了吗,你还想怎么取值啊... var str;var callback = function(a) { str = a.data; alert('传值来源:' + a.origin + ',值是:' + a.data);}//操作str 问题是这样取不到值啊:var str;var callback = function(a) { str = a.data; alert('传值来源:' + a.origin + ',值是:' + a.data);}alert(str);alert('传值来源:' + a.origin + ',值是:' + a.data);显示的是alert(str)显示的是 var str;var callback = function(a) { str = a.data; alert('传值来源:' + a.origin + ',值是:' + a.data); alert(str);} 调试一下看在callback函数里面是否已经赋值成功或者试一下重新赋值 这样我知道能取到,但问题是其它地方怎么用这个str呢 alert(str)放在里边能取到,放在外边取不到,没有办法用这个变量啊 var str; var callback = function(a) { str = a.data; alert('传值来源:' + a.origin + ',值是:' + a.data); } callback(); alert(str); 你肯定要把对应参数加上 callback(a);不太清楚你的上下文作用域 实在要实现可以考虑闭包 要么用命名空间处理,要么用全局变量来缓存,也可以缓存到 dom上,你的应用场景不具体 我运用的代码主要是这个,实现的功能也是子页面传值http://www.swind.me/%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E8%A7%A3%E5%86%B3iframe%E8%B7%A8%E5%9F%9F/ console.info(a);看是什么值,再来剖析别的。 执行到这个alert(str)的时候callback函数还没有执行。也就是说str还没有赋值。 页面放一个隐藏input<input type="hidden" id="src"/>var callback = function(a) { $("#src").val(a.data); alert('传值来源:' + a.origin + ',值是:' + a.data);}var str;src=$("#src").val();alert(str); 执行到这个alert(str)的时候callback函数还没有执行。也就是说str还没有赋值。这是正常 的,只要在callback调用之前,检测str或者都是undefined。所以,你要使用a.data,必须等callback调用完,或则在callback里面写你的代码。 alert(console.info(a))后是使用 firefox或者chrome,打开控制台查看不要alert 直接 console.info()输出。 js获取标签内元素的属性值 jquery 如何查找两个元素之间的元素 js:取出所有文本 如何用JavaScript开发个UBB 怎样实现可编辑的下拉列表,能有现成的例子阿,谢谢阿 求助!!!!!!!!!jquery ui 实现拖拽div对换位置 Ext 加载控件显示问题 求一种效果!急 有那位高手知道javascript中,在window.print()之前怎样实现预览或页面设置 求大神帮忙,网页点击弹出弹窗后,滑动鼠标,弹窗不动,页面在动..有什么方法可以让页面也不动么 代码之前都运行了 没有问题,突然就有这个问题了 蒙了 添加问题成功 关于数据类型判断的问题
var callback = function(a) {
alert('传值来源:' + a.origin + ',值是:' + a.data);
str=a.data
}
//能弹出值,现在我想把a.data赋值给str,要怎么做
var mdata=?
不明白你的意思
var str;
var callback = function(a) {
str = a.data;
alert('传值来源:' + a.origin + ',值是:' + a.data);
}
//操作str
var callback = function(a) {
str = a.data;
alert('传值来源:' + a.origin + ',值是:' + a.data);
}
alert(str);alert('传值来源:' + a.origin + ',值是:' + a.data);显示的是alert(str)显示的是
var str;
var callback = function(a) {
str = a.data;
alert('传值来源:' + a.origin + ',值是:' + a.data);
alert(str);
}
或者试一下重新赋值
var str;
var callback = function(a) {
str = a.data;
alert('传值来源:' + a.origin + ',值是:' + a.data);
}
callback();
alert(str);
你肯定要把对应参数加上 callback(a);不太清楚你的上下文作用域 实在要实现可以考虑闭包
也可以缓存到 dom上,你的应用场景不具体
http://www.swind.me/%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E8%A7%A3%E5%86%B3iframe%E8%B7%A8%E5%9F%9F/
执行到这个alert(str)的时候callback函数还没有执行。也就是说str还没有赋值。
<input type="hidden" id="src"/>var callback = function(a) { $("#src").val(a.data); alert('传值来源:' + a.origin + ',值是:' + a.data);}
var str;
src=$("#src").val();
alert(str);
执行到这个alert(str)的时候callback函数还没有执行。也就是说str还没有赋值。这是正常 的,只要在callback调用之前,检测str或者都是undefined。
所以,你要使用a.data,必须等callback调用完,或则在callback里面写你的代码。
alert(console.info(a))后是
使用 firefox或者chrome,打开控制台查看
不要alert
直接 console.info()输出。