JavaScript知识总结(1)

来源:互联网 发布:淘宝每月刷多少会封号 编辑:程序博客网 时间:2024/05/16 14:07

1. JavaScript数据类型

列举几个:字符串(String): var x = "temp";数字(Number): var x = 1;布尔(Boolean): var x = true;数组(不是基本数据类型):     var cars = new Array();    cars[0] = "car1";    cars[1] = "car2";    cars[2] = "car3";    或    var cars = new Array("car1", "car2", "car3");对象(Object):     var person = {        name: "Bill",        id: 11111    };Null:    cars = Null;Undefined:     var x;

2. 闭包

找到一个讲解非常清晰易懂的博客:http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html简单理解一下:    闭包就是指能够访问其他函数内部变量的函数,同时它使得这些变量始终保留在内存中。

3. 数组操作

同样指路博客:http://www.cnblogs.com/zhangzt/archive/2011/04/01/2002213.html1. 创建    new Array();    new Array(size);//指定数组长度, 可以存储在指定长度之外,长度会随之改变2. 元素访问    arrayObj[i];//i为指定下标3. 元素添加    arrayObj.push(item1, item2, ..., itemN);//向数组末尾添加一个或多个元素,并返回新的长度    arrayObj.unshift(item1, item2, ..., itemN);//向数组开头添加一个或多个元素,并返回新的长度4. 元素删除    arrayObj.pop();//删除最后一个元素并返回值    arrayObj.shift();//删除第一个元素并返回值, 其他元素往前移    arrayObj.splice(index, count);// 从指定下标删除指定数目的元素5. 截取和合并    arrayObj.slice(start, end);//以数组方式返回下标为start到end-1的元素, end没有指定时就返回start之后的元素6. 字符串化    arrayObj.join(seperator);//用seperator连接数组并返回字符串7. 三个属性1) length    可以设置,当设置长度比原来小时,后面的部分就会被丢弃掉,当长度比原来大时, 新加的部分为"undefined"。    使用new Array()创建的数组初始长度为02) prototype3) constructor

4. JavaScript实现ajax

博客:http://www.cnblogs.com/u-lhy/p/7020340.htmlfunction ajax(options){    var options = options || {};    var type = (options.type || "GET").toUpperCase();    var dataType = options.dataType || "json";    var params = formatParams(options.data)    var xhr;    // 1. 创建异步加载对象    if (window.XMLHttpRequest){        xhr = new XMLHttpRequest();    }else if(window.ActiveObject){        xhr = new ActiveObject('Microsoft.XMLHTTP');    }    // 2. 连接和发送    if (type == "GET"){        xhr.open("GET", options.url + "?" + params, true);        xhr.send();    }else if (type == "POST"){        xhr.open("POST", options.url, true);        //设置表单提交时的内容类型        xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");        xhr.send();    }    // 3. 接收    xhr.onreadystatechange = function(){        if (xhr.readyState == 4){            var status = xhr.status;            if (status >= 200 && status < 300 || status == 304){                options.success && options.success(xhr.responseText, xhr.responseXML);            }else {                options.error && options.error(status);            }        }    }}//格式化参数function formatParams(data){    var arr = [];    for (var name in data){        arr.push(encodeURIComponent(name) + "=" + encodeURIComponent(data[name]));    }    return arr.join("&");}调用函数ajax({    url: "",    type: "POST",    data: {name: "super", age: 20},    dataType: "json",    success: function(response, xml){        // 4. 此处放成功后执行的代码    }    error: function(status){        // 5. 此处放失败后执行的代码       }});
原创粉丝点击