javaScript 中的一些日常用法总结
从今天开始把开发中常用到的js语法 一一记录下来 方便以后复习回顾用;
1:对字符串进行替换 replace 以及 replaceAll
replace :
var begin_date =begin.replace("-","");

replaceAll:
1 var begin_date =begin.replaceAll("-","");

总结 replace 只能替换第一个 匹配的元素 如果要全部替换 则可以使用 replaceAll
2: 将字符串 转成 数字
1 var begin_date =parseInt(begin.replaceAll("-",""));
总结: parseInt() 可以将一个字符串的数字转成 int型的数字 然后进行相关的数字运算
3:在数组中查找指定值并返回它的索引(如果没有找到,则返回-1)
1 $.inArray( value, array [, fromIndex ] )
value 类型: Anything 要查找的值。
array 类型: Array 一个数组,通过它来查找。
fromIndex 类型: Number 数组索引值,表示从哪里在开始查找。默认值是0,这将查找整个数组。
判断big这个数组 是否包含item这个字符串 -1表示不包含
总结:$.inArray()方法类似于JavaScript的原生.indexOf()方法,没有找到匹配元素时它返回-1。如果数组第一个元素匹配value(参数) ,那么$.inArray()返回0。
4:复选框全选/全不选
jsp:

js:
1 //全选 2 function checkBox(name,checked){ 3 $("input[name=" + name + "]").attr("checked",checked); 4 }
5:js方式提交form表单
1 //批量删除 Ctrl+K 2 function optDelete(name,isDisplay,pageNo){ 3 //请至少选择一个 4 var size = $("input[name=ids]:checked").size(); 5 if(size == 0){ 6 alert("请至少选择一个"); 7 return ; 8 } 9 //你确定删除吗? 10 if(!confirm("你确定删除吗?")){ 11 return; 12 } 13 $("#jvForm").attr("action","/brand/deletes.do?name=" + name + "&isDisplay=" + isDisplay + "&pageNo=" + pageNo); 14 $("#jvForm").attr("method","post").submit(); 15 }
总结:上述代码是提交 id为 jvForm表单的数据 参照 (4)图的form表单
如果form表单中 指定了action以及method
jsp:


js:
1 //上传图片 2 function uploadPic(){ 3 //jquery.form.js 4 var options = { 5 url : "/upload/uploadPic.do", 6 dataType : "json", 7 type : "post", 8 success : function(data){ 9 $("#allUrl").attr("src",data.url); 10 $("#imgUrl").val(data.url); 11 } 12 } 13 $("#jvForm").ajaxSubmit(options); 14 }
6:post方式提交ajax
var url = "/sku/addSku.do"; var params = {"marketPrice" : m , "price" : p }; //异步保存数据到库中 $.post(url,params,function(data){ alert(data.message); },"json");
7:js方式接收java后台传递过来的参数 其中 ${param.keyword} 是获取浏览器url里的参数的
1 //全局变量 2 var keyword = '${param.keyword}'; 3 var brandId = '${brandId}'; 4 var price = '${price}';
总结:${param.keyword} 获取url中参数
eg: https://i.cnblogs.com/EditPosts.aspx?keyword=7992830 此时的${param.keyword} 的值就是7992830
8:js跳转页面
1 window.location.href = "/search?keyword=" + keyword + "&brandId=" + id;
9:js方法里使用c标签
1 function colorToRed(target,id){ 2 var flag = 0; 3 var html = ""; 4 <c:forEach items="${skus }" var="sku"> 5 if(id == '${sku.colorId}'){ 6 if(flag == 0){ 7 html += '<div class="item selected" id="${sku.size}" onclick="sizeToRed(this,\'${sku.size}\')">' 8 + '<b></b><a href="javascript:;" title="${sku.size}" >${sku.size}</a>' 9 + '</div>'; 10 flag = 1; 11 //颜色及尺码 都成红色 12 //设置巴巴价 13 $("#bbs-price").html('${sku.price}'); 14 //保存一个SKuID 15 skuId = '${sku.id}'; 16 } 17 } 18 </c:forEach> 19 //替换 20 $("#sizes").html(html); 21 }
10:添加 或者 移除 class属性
1 //清理成白色 2 // $("#colors div").attr("class","item"); 3 $("#colors div").removeClass("selected"); 4 //点击的颜色变成红边框 5 // $(target).attr("class","item selected"); 6 $(target).addClass("selected");
11:页面加载时指定特定标签 执行 某个事件
1 $(function(){ 2 //初始化加载 3 $("#colors div:first").trigger("click"); 4 });
12:encodeURIComponent 对url地址栏中数据进行转码
1 //去登陆页面 2 function login(){ 3 window.location.href = "http://localhost:8081/login.aspx?returnUrl=" + window.location.href; 4 }
http://localhost:8081/login.aspx?returnUrl=http://localhost:8082/
转换后:
1 //去登陆页面 2 function login(){ 3 window.location.href = "http://localhost:8081/login.aspx?returnUrl=" + encodeURIComponent(window.location.href); 4 }
1 http://localhost:8081/login.aspx?returnUrl=http%3A%2F%2Flocalhost%3A8082%2F
13: jsonp 跨域请求写法
1 $(function(){ 2 //去判断用户是否登陆 0 1 3 $.ajax({ 4 url : "http://localhost:8081/isLogin.aspx", 5 type : "post", 6 dataType : "jsonp",//跨域 7 success : function(data){ 8 //判断 0 1 9 //alert(data); 10 if(data){ 11 $("#login").hide(); 12 $("#regist").hide(); 13 }else{ 14 $("#logout").hide(); 15 $("#myOrder").hide(); 16 } 17 } 18 }); 19 })
后台java代码 特别强调 参数: String callback 返回值 MappingJacksonValue
1 //判断用户是否登陆 2 @RequestMapping(value = "/isLogin.aspx") 3 public @ResponseBody 4 MappingJacksonValue isLogin(String callback,HttpServletRequest request,HttpServletResponse response){ 5 Integer result = 0; 6 //判断用户是否已经登陆 7 String username = sessionProvider.getAttributeForUsername(RequestUtils.getCSESSIONID(request, response)); 8 if(null != username){ 9 result = 1; 10 } 11 MappingJacksonValue mjv = new MappingJacksonValue(result); 12 mjv.setJsonpFunction(callback); 13 return mjv; 14 }
14:将对象转成json格式的字符串 JSON.stringify(obj)
function getJSON(){ var obj = {reqId:"10104", TaskStatus:"0", TaskType:"0", TaskName:"", OffSet:"0", LineSize:"10" }; return JSON.stringify(obj); }
执行结果:
{"reqId":"10104","TaskStatus":"0","TaskType":"0","TaskName":"","OffSet":"0","LineSize":"10"}
15: 将json格式的字符串转成对象 JSON.parse(obj)
1 var obj = {reqId:"10104", 2 TaskStatus:"0", 3 TaskType:"0", 4 TaskName:"", 5 OffSet:"0", 6 LineSize:"10" }; 7 console.log(JSON.stringify(obj)) 8 console.log(JSON.parse(JSON.stringify(obj))) 9 return JSON.stringify(obj);
执行结果:

16:js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例 引用:http://www.jb51.net/article/99270.htm
1 <div style='width:120px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;' title='鼠标悬浮显示的内容'>鼠标悬浮显示的内容</div> 2 <!--这个内容因为是在div里面,是控制div的宽度来显示你需要看到几个字的长度,超出会显示 ...--> 3 <!--title:提示信息,鼠标放到该元素上显示的提示信息-->

17.在javascript中,map集合的用法。
1 var map = {}; 2 map['key1'] = 1; 3 map['key2@'] = 2; 4 5 console.log(map['key1']);//结果是1. 6 console.log(map['key2@']);//结果是2. 7 8 //如果遍历map 9 for(var prop in map){ 10 if(map.hasOwnProperty(prop)){ 11 console.log('key is ' + prop +' and value is' + map[prop]); 12 } 13 }
需要动态的赋值key
1 var key1 = '动态key1'; 2 var key2 = '动态key2'; 3 var map = {}; 4 map[key1] = 1; 5 map[key2] = 2; 6 7 console.log(map[key1]);//结果是1. 8 console.log(map[key2]);//结果是2. 9 10 //如果遍历map 11 for(var prop in map){ 12 if(map.hasOwnProperty(prop)){ 13 console.log('key is ' + prop +' and value is' + map[prop]); 14 } 15 }

浙公网安备 33010602011771号