1、拼接字符串时使用substring方法进行截取避免每次都判断:
在拼接字符串时需要遵从指定的格式(如用逗号隔开),后面进行取值或验证时可以按照前面的规则去除结果。但拼接的第一个值,前面往往是不需要加逗号的,通过的做法是加if判断,如果是第一个数据或拼接的字符串若为空,就不加逗号,这样子是可以解决问题,若要拼接的数据过多,每次都判断会很影响性能。个人觉得比较快刀斩乱麻的方式是直接用substring方法进行截取。如下面的例子:
public static void main(String[] args) {
long startTime = System.currentTimeMillis();
String str1="";
for(int i=0;i<10000;i++){
if(i==0){
str1+=i;
}else{
str1+=","+i;
}
}
System.out.println(str1);
long endTime = System.currentTimeMillis();
System.out.println("执行该方法所需时间:"+(endTime-startTime));//output:376
long startTime2 = System.currentTimeMillis();
String str2="";
for(int i=0;i<10000;i++){
str2+=","+i;
}
if(str2.length()>0){
str2=str2.substring(1);
}
System.out.println(str1);
long endTime2 = System.currentTimeMillis();
System.out.println("执行该方法所需时间:"+(endTime2-startTime2));//output:320
}
2、创建Jquery对象:
平常大部分情况都是用Jquery获取已经存在的对象,今天要凭空弄一个对象出来,对于网上说的,用new关键字来new一个Jquery对象我不太在行,就自己认为的方法定义了一个,如下:
var func = "";
var $function = $(func);
$function.attr({"functionID":77777,"funViewID":viewID,"rViewID":0,"tableListID":tableListId});
alert($function.attr(viewID)+" "+$function.attr(tableListId));
alert出来竟然是两个undefined,不知道为什么?后来参照网上的方法(参考链接:
http://www.jb51.net/article/33403.htm)定义成下面这样子的:
var func = "";
var $function = $("<input>",{"id":"editRowFunc"});
$function.attr({"functionID":77777,"funViewID":viewID,"rViewID":0,"tableListID":tableListId});
alert($function.attr(viewID)+" "+$function.attr(tableListId));
成功alert。
3、JS调用字符串类型的方法
最近做一应用碰到一个问题,一个onlick事件上面绑定两个方法。要是正常的拼接代码那绝对是没问题的,直接在onclick事件上面写上两个方法名称即可,但问题通常都是不正常的。我这个onclic事件只能绑定一个(不是不能绑定两个,而是没法绑定两个),没办法,只能把触发事件的名称写在了标签上的属性中,类似于:
<input onclic="aaa();" id='testInput' type="button" scriptEvent="bbb" />
在aaa方法中处理完了之后,获取scriptEvent的属性值,然后再执行这个方法,具体方法如下:
var scriptEvent = $("#testInput").attr("scriptEvent");
if(!isempty(scriptEvent)){//说明有绑定事件
if(scriptEvent.indexOf("(")>0){//处理自带了()的情况
scriptEvent = scriptEvent.substring(0,scriptEvent.indexOf("("));
}
//执行方法
eval(scriptEvent+"('"+val+"')");//val是要传递的参数值
}
4、IE11中导入Excel时总是找不到文件
最近弄一个导Excel数据的功能,IE8中很正常,IE11和火狐中老是出错,说文件找不到。大概业务是这样子的:选择文件之后,通过AJAX进行文件上传,返回文件名称给页面,页面通过AJAX将名称传递给后台,后台读取Excel并返回。正常情况下,返回的文件名称是Object类型的,其值是字符串类型,且只有一个文件名称。但是在IE11或火狐中,这个Object的值除了文件名称之后还有一个隐藏的“\r\n”即换行符号,因此传递到后台的文件名称也有一个换行符,再根据这个含有了换行符的路径去找文件,必然找不到,所以就找不到文件啦。
解决:将Object类型的文件名称转换成String类型,然后用replace将\r、\n替换成空字符串。
用代码表示就是这样子的:
fileName = fileName.toString();//转换成字符串进行替换
fileName = fileName.replace("\r","").replace("\n","");//将换行符替换成空字符串
5、使用JS判断文件类型:
/**
* 该方法根据文件的后缀名判断文件类型
* @param fileType:文件格式
* */
function getFileType(fileType){
var flag=0;
if(fileType!=null && fileType.length>0){
fileType = jQuery.trim(fileType);
switch(fileType){
//图片格式
case "gif":flag=1;break;
case "jpg":flag=1;break;
case "jpeg":flag=1;break;
case "png":flag=1;break;
case "bmp":flag=1;break;
//office格式
case "doc":flag=2;break;
case "docx":flag=2;break;
case "xls":flag=2;break;
case "xlsx":flag=2;break;
case "ppt":flag=2;break;
case "txt":flag=2;break;
//视频格式
case "mp4":flag=3;break;
case "avi":flag=3;break;
case "wmv":flag=3;break;
case "rmvb":flag=3;break;
case "rm":flag=3;break;
case "flv":flag=3;break;
case "flash":flag=3;break;
case "mp4":flag=3;break;
case "3gp":flag=3;break;
case "mpg":flag=3;break;
case "vob":flag=3;break;
}
//或者使用EL表达式
if((/(?:jpg|gif|png|jpeg|bmp)$/i.test(fileType))){
fileType="1";
}else if((/(?:doc|docx)$/i.test(fileType))){
fileType="2";
}else if((/(?:xls|xlsx)$/i.test(fileType))){
fileType="3";
}else if((/(?:rar|zip)$/i.test(fileType))){
fileType="4";
}
}
return flag;
}
分享到:
相关推荐
小目标积累是Keystone变换在低空小目标探测中的一个关键应用。通过多次积累,可以将多个微弱的小目标信号叠加在一起,达到信号强度的累加,从而提升目标的检测概率。同时,这种方法还可以抑制背景噪声,提高信噪比,...
3. **口袋**与**袋子**:两者都是装物品的容器,区别在于“口袋”通常指衣物上的小袋子,而“袋子”则指独立的、可手提的包。 4. **灰色**与**灰尘**:灰色是一种颜色,介于黑色和白色之间;灰尘则是细小的颗粒物,...
sql积累小资料 包括oracle, sql server, mysql 分卷之二
八年级语文下册第二单元8时间的脚印积累运用小题闯关新人教版20200228415
ECMall是一款专为中小企业打造的开源电子商务解决方案,它提供了商品管理、订单处理、支付接口集成、会员系统等全面的电商功能。开发者可以通过对其进行二次开发,根据业务需求定制化功能,满足不同场景下的电商运营...
二、广告语欣赏 广告语是语言艺术的应用,通过欣赏如意牌电视机、丰田汽车等广告词,孩子可以了解如何用简洁有力的语言表达理念,同时学习到广告创意和市场营销的基本概念。 三、环保公益广告 环保公益广告教育孩子...
云南省西双版纳傣族自治州小升初语文知识专项训练(基础知识二):10文学常识积累.pdf
在嵌入式软件开发中,数据积累是一个关键环节,它涉及到如何有效地保存和读取软件运行过程中的参数。本文将重点讨论在嵌入式Linux环境下,如何利用二进制数据来存储这些参数,并分析这种存储方式的优缺点。 在...
其次,第二段对潭中游鱼的描写堪称经典,采用了正面写鱼、侧面写水的方式,通过鱼的动态和静态,表现出水的清澈透明。"潭中鱼可百许头,皆若空游无所依",这句话形象地描绘了鱼在水中自由自在的状态,同时也从侧面...
小学二年级的词语归类积累是一项重要的语文学习任务,它帮助孩子们系统地掌握词汇,提升语言表达能力。在这个阶段,孩子们需要了解并记忆各种类型的词语,包括近义词、分类词语以及带有特定格式的成语。 近义词是...
标题 "积累的软件 软件下载地址" 暗示了这是一个关于分享或提供软件下载资源的主题。从描述中的“博文链接”可以推测,这可能是一个博客文章中提到的软件资源,具体是用于源码处理或工具应用的。标签“源码”和...
文档"小学一二年级词语积累.doc"是一个专门为小学低年级学生设计的词汇学习资源,涵盖了丰富的汉语成语、形容词、动词以及日常生活中常见的词汇。这些词语对于培养学生的语言表达能力和词汇量至关重要。以下是对其中...
这份名为"积累的VC编程小技巧"的文档,无疑为开发者提供了一份宝贵的资源,包含95页的精华内容,涵盖了多方面的知识和实用技巧。下面我们将详细探讨一些可能涵盖的VC++编程技巧。 1. **内存管理**:VC++中,程序员...
在本资源中,我们主要探讨的是使用MATLAB进行基于DOA(Direction of Arrival)和TDOA(Time Difference of Arrival)的时间积累二维GDOP(Geometric Dilution of Precision)的仿真分析。这是一个针对无线通信系统...
3. **词语积累与相对词**:教学过程中,学生需要正确认读和理解给出的词语,同时找出相对的词语,如“大-小”,“高-低”。这不仅锻炼了他们的记忆力,也培养了他们的语言比较和思考能力。 4. **元曲朗读与背诵**:...
在教学过程中,教师可能会采用多种方法来帮助学生理解和背诵古诗,如讲解诗歌的韵律、格律,分析意象和象征,进行角色扮演,或者引导学生创作自己的小诗。同时,家长和教师还可以鼓励孩子们将古诗与日常生活联系起来...
【标题】和【描述】提到的是中学语文的学习资源,主要涉及八年级下册语文第二单元的课文《阿西莫夫短文两篇》的学习积累和小题闯关练习。这通常指的是阅读理解、字词积累、语法分析以及对文本内容的理解。 【标签】...
【小升初语文知识积累经典篇】文档涵盖了多个方面的语文学习要点,主要集中在基础学问、文学常识以及小阅读这三个部分。 一、基础学问 这部分强调了常见易读错的字音,例如“拘泥”的“nì”,“亲昵”的“nì”,...
这篇内容主要涉及的是语文学习,具体是八年级语文下册第二单元的《大雁归来》一课的积累运用练习。这份资料旨在帮助学生巩固和提升语文基础,包括字音、错别字纠正、词语理解及应用、病句修改以及图文解读等能力。 ...
反问和夸张如“心眼儿比针鼻儿还小”,强调观点,引人深思。 通过以上复习,学生可以加深对语文基础知识的理解,提高语言运用的能力,为语文考试做好充分准备。同时,这些知识也适用于日常生活中的沟通和表达,提升...