function len(srce,sta,mlen){
var srcLen = srce.length;
var curLen = 0;
var srcIdx = sta;
var le = 0;
for(;;){
//单字节小于255
if(src.charCodeAt(srcIdx) > 255){
curLen+=2;
}else{
curLen++;
}
le=le+1;
}
// 移动指针
srcIdx++;
// 超出长度退出
if(curLen = mlen|| srcIdx > srcLen){
return le;
}
}
//解析水费明细
function decodeDatailWater(detLin,datail){
var L=[];
var spos = 0; //每条记录开始位置
alert("a1");
alert(len(datail,spos+9+6,64));
调用上面的函数,调试就会报缺少对象
请问这是什么问题??
var srcLen = srce.length;
var curLen = 0;
var srcIdx = sta;
var le = 0;
for(;;){
//单字节小于255
if(src.charCodeAt(srcIdx) > 255){
curLen+=2;
}else{
curLen++;
}
le=le+1;
}
// 移动指针
srcIdx++;
// 超出长度退出
if(curLen = mlen|| srcIdx > srcLen){
return le;
}
}
//解析水费明细
function decodeDatailWater(detLin,datail){
var L=[];
var spos = 0; //每条记录开始位置
alert("a1");
alert(len(datail,spos+9+6,64));
调用上面的函数,调试就会报缺少对象
请问这是什么问题??
解决方案 »
- 如何在非IE浏览器里控制embed的声音播放
- 求一段简单的jquery代码,为li添加class?
- 请教单选框的值变化问题
- 关于json格式对象赋值的问题,请赐教!
- 用window.open打开的窗口,被浏览器拦截
- onload="bodyOnLoad()" onresize="ReDraw()"冲突怎么弄啊 ?
- 求助,javasript 传递值出现错误
- 请帮忙分析下ligerCheckBox.js
- 如何给一个link对象赋文本值?
- 网页中的word对象问题!(急)
- 为什么这样不能document.getElementById("form1").getElementsByName("a");
- 动态增加单元格的问题
-------------
src有定义过吗,没有的话,就是写错了
规范后的代码如下:
// JScript source code
/*global window */
function len(srce, sta, mlen)
{
"use strict";
var srcLen = srce.length,
curLen = 0,
srcIdx = sta,
le = 0; for (; ; )
{
//单字节小于255
if (src.charCodeAt(srcIdx) > 255)
{
curLen += 2;
} else
{
curLen++;
}
le = le + 1;
}
// 移动指针
srcIdx++;
// 超出长度退出
if ((curLen === mlen) || (srcIdx > srcLen))
{
return le;
}
}//解析水费明细
function decodeDatailWater(detLin, datail)
{
"use strict";
var L = [],
spos = 0; //每条记录开始位置
window.alert("a1");
window.alert(len(datail, spos + 9 + 6, 64));
}
JSLINT检查后,结果很明显:
C:\JScript1.js(14,7) JSLINT: 'src' was used before it was defined.
if (src.charCodeAt(srcIdx) > 255)
这样就避免你调试时遇到种种麻烦
if(srcObj.src.length <= 0){
return "";
}
var src = srcObj.src;
var curData = "";
var srcLen = src.length;
var curLen = 0;
var srcIdx = 0;
for (;;) {
// 单字节值小于 255
curLen += src.charCodeAt(srcIdx) > 255 ? 2 : 1;
// 取字符串
curData += src.charAt(srcIdx);
// 移动指针
srcIdx++;
// 超出长度退出
if (curLen >= len || srcIdx > srcLen) {
srcObj.src = src.substring(srcIdx, src.length);
srcObj.sub = curData;
return curData;
}
}
}
//解析水费明细
function decodeDatailWater(detLin,datail){
var L=[];
var spos = 0; //每条记录开始位置
var a = new Object();
a.src = datail;
alert(subStringByByte(a,9));
for (var i=0;i<detLin;i++){
var o = {};
alert(subStringByByte(a,9));
o.WatNo = subStringByByte(a,9); //水费记录号
o.BookNo = subStringByByte(a,6); //册本号
o.UseNam = subStringByByte(a,64); //户名
刚重新编写了一个,但是在调用时总是报subStringByByte函数中if(srcObj.src.length <= 0)的src.length为空或不是对象,但是我使用alert方法可以获取到相应的数值,请问到底有哪里出错了