js 常用方法

来源:互联网 发布:拖欠淘宝贷款一年 编辑:程序博客网 时间:2024/06/05 23:07

1. json 对象转json字符串
var book = {title:"titleName",authors:["Name1"],edition:3,year:2015}
var jsonText = JSON.stringify(book)
var jsonText = JSON.stringify(book,["title","edition"])  // 只转title 和 editon      就是过滤转换
var jsonText = JSON.stringify(book,null,4);   // 结果字符串缩进 
var jsonText = JSON.stringify(book,function(key,value)(){             //第二个参数是对转换过程修改的函数 可以根据实际情况修改
switch(key){
case “author”:
return value.join(",")
    case "aaa"
return "aaa"
default :
return value;
}
})


var bookcopy = JSON.parse(jsonText);   // json字符串转javascript值


2.angularjs:
下载anjularjs  cmd  D:   npm install angular
anjularjs 文档  http://docs.angularjs.cn




3.根据Id 获取该元内部的所有表单元素 并将其组装成json 对象返回
function getFormData(id){
    var con = $("#"+id)[0];
    var temp = $(con).find("input");
    var result = {};
    temp.forEach(function(obj){
        var id = obj.getAttributeNode("id").value;
        result[id]=obj.value;
    });
    return result;
}


4.循环的写法:  这样写可以减少 arr.length 的操作 因为dom 操作比较昂贵
for(var i =0,max = arr.length;i<max;i++){
}
var i, myarray = [];
for (i = myarray.length; i–-;) {
    // 使用myarray[i]做点什么
}
var myarray = [],
i = myarray.length;
while (i–-) {
    // 使用myarray[i]做点什么
}
document.images: 页面上所有的图片元素
document.links : 所有a标签元素
document.forms : 所有表单
document.forms[0].elements : 页面上第一个表单中的所有域


5. eval() 接收任何字符串 并且当做javascript 代码来处理
var  property = "name";
alert(obj[property])  // 如果属性是动态的 建议使用方括号的方式访问
不建议使用 alert(eval("obj."+property));


6.定时器写法:
// 更好的
setTimeout(myFunc, 1000);
setTimeout(function () {
    myFunc(1, 2, 3);
}, 1000);


7.使用paseInt 的时候 记住要知名基数 不然以零开头的数子可能被看做是8进制 处理  
var month = "06" ,year = "09";
month = pares
var month = "06",
year = "09";
month = parseInt(month, 10);
year = parseInt(year, 10);


8.js 对cookie的操作
用例:  
setCookie("test","tank",1800);         //设置cookie的值,生存时间半个小时    
alert(getCookie('test'));                     //取得cookie的值,显示tank    
clearCookie("test");                           //删除cookie的值    
alert(getCookie('test'));                     //test对应的cookie值为空,显示为false.就是getCookie最后返的false值。
//取得cookie    
function getCookie(name) {    
    var nameEQ = name + "=";    
    var ca = document.cookie.split(';');    //把cookie分割成组    
    for(var i=0;i < ca.length;i++) {    
    var c = ca[i];                      //取得字符串    
    while (c.charAt(0)==' ') {          //判断一下字符串有没有前导空格    
        c = c.substring(1,c.length);      //有的话,从第二位开始取    
        }    
        if (c.indexOf(nameEQ) == 0) {       //如果含有我们要的name    
            return unescape(c.substring(nameEQ.length,c.length));    //解码并截取我们要值    
        }    
    }    
    return false;    
}     
//清除cookie    
function clearCookie(name) {    
  setCookie(name, "", -1);    
}     
//设置cookie    
function setCookie(name, value, seconds) {    
    seconds = seconds || 0;   //seconds有值就直接赋值,没有为0,这个根php不一样。    
    var expires = "";    
    if (seconds != 0 ) {      //设置cookie生存时间    
        var date = new Date();    
        date.setTime(date.getTime()+(seconds*1000));    
        expires = "; expires="+date.toGMTString();    
    }    
    document.cookie = name+"="+escape(value)+expires+"; path=/";   //转码并赋值    
}    


9.js 判断checkedbox 是否选中
     <input id="remeber" type="checkbox"> 记住密码
      var remeber = document.getElementById("remeber").checked;
      if (remeber){  }

10.jquery 遍历json数组

 var obj = {"status":1,"bkmsg":"\u6210\u529f","bkdata":["\u5415\u5c1a\u5fd7","1387580400","\u6dfb\u52a0\u8bb0\u5f55"]}{"status":1,"bkmsg":"\u6210\u529f","bkdata":["\u5415\u5c1a\u5fd7","1387580400","\u6dfb\u52a0\u8bb0\u5f55"]},{"status":1,"bkmsg":"\u6210\u529f","bkdata":["\u5415\u5c1a\u5fd7","1387580400","\u4ec0\u4e48\u4e5f\u6ca1\u6709"]}

$.each( obj.bkdata, function(index,item){ 
        console.log(item); 
    }); 


11,下载 angularjs

下载anjularjs  cmd  

   npm install angular
anjularjs 文档  http://docs.angularjs.cn



12, js 拼接字符串的最快方式:

var strArray = new Array(); 
for (var i = 0; i < 100; i++) { 
        var sub = ""; 
        for (var j = 0; j < 500; j++) { 
        sub += "xxxxxx"; 
    } 
    strArray.push(sub); 

str = String.prototype.concat.apply("", strArray); 


12.获取标签的属性值:


0 0