js 对象处理问题

vars=table1.rows();//取table1的所有行vars1=newArray();//创建一个新数组$.each(s,function(){this.qt... var s = table1.rows();//取table1的所有行
var s1 = new Array();//创建一个新数组
$.each(s, function () {
this.qty = this.qty + 1;
s1.push(this);//加工后保存数组
});
table2.addRows(s1);

当在别的地方再读取table1的行时
var s = table1.rows();
s里面的数据全都变成了加工后s1的数组了
是什么问题导致的呢
js 里定义了个方法 $.fn.Grid(表格组件)
然后网页里有两个table 同时使用了这个方法
现在的情况时table1 里的3行数据
然后table2里的数据是取table1的数据加工后生成
但是操作加工table1的数据后给table2后 table1的行数据也跟着变
是啥回事 求大神 部分代码

var s = table1.rows();//取table1的所有行
var s1 = new Array();//创建一个新数组
$.each(s, function () {
this.qty = this.qty + 1;
s1.push(this);//加工后保存数组
});
table2.addRows(s1);

当在别的地方再读取table1的行时
var s = table1.rows();
s里面的数据全都变成了加工后s1的数组了
是什么问题导致的呢
展开
 我来答
孙大圣威客
2017-01-11 · TA获得超过142个赞
知道答主
回答量:257
采纳率:50%
帮助的人:86.9万
展开全部
数据类型判断可以通过一元操作符typeof,此操作符可以判断大部分JS数据类型。
也可以通过instanceof来判断。如:
var a = [];
alert(typeof a); // object
alert(a instanceof Array); //return true

var a = {};
把a定义为对象。
可以通过
a[key] = value;
进行赋值。
判断a对象的长度,可以通过:
var length=0;
for(var jsObj in a){

length++;

}
js对象没有length属性,不能直接获取对象个数。

取值:a[...key....]
删除数据: delete a[...key....]

以上类似于json格式的js对象。
对于此js对象不保证存放的顺序,存进去与取出来的顺序可能不一致。
要解决此问题,可以使用Array对象来处理。
使对象具有JAVA中Map的功能。
function Map() {
this.elements = new Array();

crud方法在此省略。。。。
}

this.elements.length //获取Array中的元素个数
其它方法可以参考Array对象的特性。

JS代码易于出错,调试JS代码常用firefox浏览器插件Firebug,Aptana等
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
噜噜噜哦而你
2017-01-11 · 超过46用户采纳过TA的回答
知道答主
回答量:145
采纳率:100%
帮助的人:58.2万
展开全部
不可能吧,你说s1遍s我还信,s怎么可能会变s1呢
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式