您的位置:首页 > Web前端 > JavaScript

js 常用方法

2015-08-06 12:10 513 查看
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.获取标签的属性值:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: