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 }

 

posted @ 2017-12-06 15:15  再也伤不起  阅读(577)  评论(0)    收藏  举报