w3cschool-Javascript

基本语法

  • 您只能在 HTML 输出流中使用 document.write。 如果您在文档已加载后使用它(比如在函数中),会覆盖整个文档。

  • JavaScript 对大小写敏感

  • JavaScript 是脚本语言。浏览器会在读取代码时,逐行地执行脚本代码。而对于传统编程来说,会在执行前对所有代码进行编译。
  • 在JS函数内部生命的变量是局部变量,在JS函数外生命的变量是全局变量。向未声明的JS变量分配值,该变量将被自动作为全局变量声明。

for/in 循环

  • JavaScript for/in 语句循环遍历对象的属性:
1
2
3
4
5
6
var person={fname:"John",lname:"Doe",age:25};

for (x in person)
{
txt=txt + person[x];
}
  • 如果逻辑对象无初始值或者其值为 0、-0、null、””、false、undefined 或者 NaN,那么对象的值为 false。否则,其值为 true(即使当自变量为字符串 “false” 时)!

window对象

  • 所有浏览器都支持 window 对象。它表示浏览器窗口。
  • 所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。
  • 全局变量是 window 对象的属性。
  • 全局函数是 window 对象的方法。
  • 甚至 HTML DOM 的 document 也是 window 对象的属性之一

jQuery

  • jQuery 是一个 JavaScript 库。
  • 如果您希望在一个涉及动画的函数之后来执行语句,请使用 callback 函数。
  • 用三种不同的方法创建元素

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <!DOCTYPE html>
    <html>
    <head>
    <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js"></script>
    <script>
    function appendText()
    {
    var txt1="<p>Text.</p>"; // 以 HTML 创建新元素
    var txt2=$("<p></p>").text("Text."); // 以 jQuery 创建新元素
    var txt3=document.createElement("p");
    txt3.innerHTML="Text."; // 通过 DOM 来创建文本
    $("body").append(txt1,txt2,txt3); // 追加新元素
    }
    </script>
    </head>
    <body>
    <p>This is a paragrapph.</p>
    <button onclick="appendText()">追加文本</button>
    </body>
    </html>
  • 在我的电脑上使用google的jquery地址是无效的,但是可以使用mircosoft的地址。

    1
    <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js"></script>

Ajax

  • AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML)。是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。
  • XMLHttpRequest对象用于子啊后台和服务器交换数据,这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

Ajax同步和异步请求数据

  • async:false:表示同步加载数据

  • async:true:表示异步加载数据

  • 同步:
    是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面假死状态解除。

  • 异步:
    则这个AJAX代码运行中的时候其他代码一样可以运行。

  • XMLHttpRequest 对象如果要用于 AJAX 的话,其 open() 方法的 async 参数必须设置为 true

  • 如果是异步的(Async=true),请规定在响应处于onreadystatechange 事件中的就绪状态时执行的函数:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    xmlhttp.onreadystatechange=function()
    {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
    }
    xmlhttp.open("GET","test1.txt",true);
    xmlhttp.send();
  • 如果是同步(Async=false),请不要编写 onreadystatechange 函数 - 把代码放到 send() 语句后面即可:

    1
    2
    3
    xmlhttp.open("GET","test1.txt",false);
    xmlhttp.send();
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;

Json

  • JSON 指的是 JavaScript 对象表示法,JSON 是轻量级的文本数据交换格式,其独立于语言和平台。