扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
HTML元素就是网页上的框、按钮、文字等,css就是用来控制这个框显示成什么样的,javascript用途比较多,既可以在里面控制html也可以控制css,xml是一种数据规范化标记语言,可以存储信息的,你说的服务器脚本应该就是指程序代码吧,用来控制业务逻辑等的,SQL是数据库脚本语言
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、网络空间、营销软件、网站建设、播州网站维护、网站推广。
Javascript自身提供了一些操作,可以对数组实现一定的处理,例如排序、连接、堆栈等等,下面做一下简单的介绍。
1,concat(arrayName2, arrayName3, …, arrayNameN) ,将数组本身和另外一个或多个数组进行连接,例如:
var arr1=[”a”,”c”];
var arr2=[”b”,”d”];
var arr22=[”e”,”f”];
var arr3=arr1.concat(arr2,arr22);
document.write(arr3);//结果显示为:a,c,b,d,e,f
2,join(separator),通过间隔符将数字连接为字符串,例如:
var arr1=[”a”,”b”,”c”,”d”,”e”];
var arr1Str=arr1.join(”-”);
document.write(arr1Str);//结果显示为:a-b-c-d-e
3,pop()/push(element1, …, elementN) ,实现了堆栈的操作,push是入栈,pop是出栈,例如:
var arr1=[”a”,”b”];
arr1.push(”c”,”d”);
document.write(arr1);//结果为:a,b,c,d
var value=arr1.pop();
document.write(value);//结果为:d
4,reverse() ,将数组反向排序,例如:
var arr1=[”a”,”b”,”c”];
arr1.reverse();
document.write(arr1);//结果为:c,b,a
5,sort(compareFunction),按照指定的排序规则进行排序,如果参数为空,则按照默认的字母和数字进行排序,例如:
function mySort(o1,o2){
if(o1.lengtho2){
return 1;
}
return -1;
}
var arr1=[”a”,”c”,”bd”];
arr1.sort();
document.write(arr1);//结果为:a,bd,c
arr1.sort(mySort);
document.write(arr1);//结果为:bd,c,a
6,shift() /unshift,将数组的第一个值取出(或者将值插入到数组第一个位置),并且数组长度缩短(加长),例如:
var arr1=[”a”,”b”,”c”];
var value=arr1.shift();
document.write(value);//输出为:a
document.write(arr1);//输出为:b,c
var value2=arr1.unshift(”g”);
document.write(value);//IE输出为undefined,Firefox输出为3
document.write(arr1);//输出为:g,b,c
7,slice(begin[,end]) ,类似字符串的substring方法,就是截取数组,例如:
var arr1=[”a”,”b”,”c”];
var arr2=arr1.slice(0,2);
document.write(arr2);//输出为:a,b
8,splice(index, howMany, [element1][, …, elementN]) ,从指定的位置(index)开始,删除后面多个(howMany)数组的值,并从删除处开始依次插入新的值,例如:
var arr1=[”a”,”b”,”c”];
arr1.splice(1,1,”m”,”n”,”o”);
document.write(arr1);//输出为:a,m,n,o,c
应该说,Javascript本身对数组提供的操作能力,还是不错的,但是在实际应用中,我们需要对数组做更多的操作,例如Java、PHP、.NET中对数组都提供了强大的操作能力,而且许多优秀的开源项目中,也提供了对数组的许多操作,但是Javascript这方面还需要进一步加强。
为了对数组提供更多的操作,JsJava定义了许多类,来加强对数组的操作,介绍如下:
1,jsjava.util.Arrays类,仿照Java的Arrays类,对数组提供了一些高效的操作,例如:
var list=Arrays.asList([”a”,”b”,”c”]);//通过数组创建一个不可变的列表
而且通过binarySearch,提供了二分法搜索的一个实现,其它的请参考JsJavaDoc
2,jsorg.apache.commons.lang.ArrayUtils类,该类的实现是参考Apache优秀的commons-lang开源项目实现的,实现其中的所有功能,例如对数组进行插入、删除、搜索、填充、截取等等,例如:
var arr=ArrayUtils.clone([0,1,2,9,0]);
document.write(arr+”br”);
document.write(ArrayUtils.subarray(arr,0,3)+”br”);
arr.reverse();
document.write(arr);
显示结果为:
0,1,2,9,0
0,1,2
0,9,2,1,0
3,jsorg.eob.lang.MultiDimensionArrayUtils类,该类实现了对多维数组的创建支持,例如可以方便创建二维和三维数组,具体可以参考文章《在Javascript之中如何创建多维数组》
4,org.apache.commons.math.linear.RealMatrixImpl类,实现对矩阵的操作,矩阵实际上就是多维数组,即实现了对多维数组的支持,例如可以实现多维数组的加、减、乘、除等操作,还有数学运算中对矩阵的其它操作,具体可以参考JsJavaDoc。
JsJava是对Javascript语言最好的扩展和延伸,它与目前流行的prototype.js的方向是不一样的,如果你正在构建web应用,那么JsJava将是你界面应用最好的支撑。
javascript是在客户端运行的,是不能操作服务器端的xml文件的,可以用服务器端运行的程序来操作xml,如asp、php、jsp、asp.net等等,就是不用javascript也可以实现用xml存储数据。当前流行的ajax技术也只是用javascript来向服务器端程序发出请求,由服务器端程序返回所需要的数据,数据格式可以是xml或其他形式。
暂时想到以下方案,仅供参考:
1.监听输入框的change事件,每次值变化都记录值,并传递到后台(AJAX),用JAVA变量存储。同样刷新时(页面加载)先从后台取这个值,并赋到文本框。
2.监听输入框的change事件,每次值变化都记录值,并储存到COOKIE里,同样刷新时(页面加载)先从COOKIE取这个值,并赋到文本框。
3.开发一个输入插件,也就是输入框。定义各种属性,记录下值就OK了。
第一种估计会有效率问题;
第二种估计频繁读写本地文件,速度也是问题。
觉得第三周比较靠谱,呵呵
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流