1.JS的概述:
     什么是JS:运行在浏览器端脚本语言,基于对象和事件驱动的语言,应用于客户端,浏览器会在读取代码时,逐行地执行脚本代码。而对于传统编程来说,会在执行前对所有代码进行编译。
     JS的用途:使用JS提升用户的体验.使HTML动起来.

2.JS的引入方式:

   (1):页面内直接编写JS代码,JS代码需要使用<script></script>.
   (2):将JS的代码编写到一个.js的文件中,在HTML中引入该JS代码即可.
    <script  type="text/javascript"  src="../js/check.js"> //这里面不写东西</script>。外部脚本不能包含 <script> 标签。

 

3.JS的组成:

   (1) ECMAScript:JS的核心
    基本语法
        与 Java 一样,变量、函数名、运算符以及其他一切东西都是区分大小写的。
            比如:变量 test 与变量 TEST 是不同的
        弱类型语言,可以任意改变变量的类型,变量是弱类型的与 Java 和 C 不同,ECMAScript 中的变量无特定的类型,定义变量时只用 var 运算符,可以将它初始化为任意值。因此,可以随时改变变量所存数据的类型(尽量避免这样做)。

例子
var color = "red";
var num = 25;
var visible = true;

        行代码结束可不加分号,就默认为换行,建议加上分号,最好的代码编写习惯是总加入分号,因为没有分号,有些浏览器就不能正确运行,不过根据 ECMAScript 标准,下面两行代码都是正确的:

var test1 = "red"
var test2 = "blue";

        变量名可以包含数字,但是不能以数字开头
        注释
            单行注释    :    以双斜杠开头(//)
            多行注释    :    以单斜杠和星号开头(/*),以星号和单斜杠结尾(*/)

    js运算符:
        一元运算符:++ --  与Java一致
        逻辑运算符:&& || !or
        算术运算符:+ - * / % 运算
            + 特点 :做的是拼接操作
            - 特点 : 先把值转换成数值后再进行减法运算,转换后不是数值相减会出现NaN
        关系运算符:
            >   <      >=    <=    ==    !=
            == 和 ===的区别,前者比较的是数值,后者不仅比较值而且还比较数据类型
        三元运算符
            值?表达式1:表达式1
            如果值为true,整个表达式取表达式1的值,如果值为false,整个表达式取表达式2值。
        赋值运算符
            *=、+=、-=、/=、%=
            以上赋值运算符与java中操作一样
        逗号运算符
            var a=1, b=2;
            逗号运算符可以在一条语句中执行多个运算
    声明变量
        var关键字
            var i = 10;
            var i =  "wangbadan";
            var i = true;
            var i = null;
            ......

    js流程控制语句:
        if条件
            格式 :if(条件){语句}else{语句}
            在java中if语句后面的条件必须是true/false值,而在javascript 中我们描述true/false有多种方式,所以要注意与java中的区别
        switch语句
        While与do-while
        for循环

    js类型
        原始类型
            string:字符及字符串都看做为字符类型
            number:数值类型
            boolean:逻辑类型
            null
            undefined:变量未初始化

        引用类型:
            对象类型.对象类型默认值是null.
        类型判断:
            typeof()

        类型转换:
            toString():转传成字符串
            parseInt(值):转换成数字类型
            parseFloat(值):转换成浮点类型
            Boolean(值):值转换成Boolean类型
            Number(值):值转换成Number类型

 

 

  (2)DOM:Document Object Model   文档对象模型
    DOM:就是将文档加载到内存,形成树形结构, 从而操作树形结构就可以改变HTML的样子.
    Document :文档对象.代表的是加载到内存中的整个的文档.
    Element :元素对象.代表文档中的每个元素(标签)
    Attribute:属性对象.代表元素上的属性.
    Document,Element,Attribute统称为Node(节点)

    DOM基本操作:1.获取元素:
            document.getElementById()     通过ID获得元素
            document.getElementsByName()    通过name属性获得元素
            document.getElementsByTagName();    通过标签名获得元素

          2.创建元素:
            document.createElement();  创建元素
                    var para=document.createElement("p");

              document.createTextNode();   创建文本节点
                    var node=document.createTextNode("这是新段落。");

              3.添加元素:
            element.appendChild(); 在最后添加一个节点
            element.insertBefore();  在某个元素之前插入一个节点
        4.  删除元素:
            element.removeChild();  如需删除 HTML 元素,您必须首先获得该元素的父元素:
                    var parent=document.getElementById("div1");
      var child=document.getElementById("p1");
      parent.removeChild(child);

                如果能够在不引用父元素的情况下删除某个元素,就太好了。不过很遗憾。DOM 需要清楚您需要删除的元素,以及它的父元素。这是常用的解决方案:找到您希望删除的子元素,然后使用其 parentNode 属性来找到父元素:
                    var child=document.getElementById("p1");
      child.parentNode.removeChild(child);

          5.修改元素:
            elementNode.setAttribute(name,value)
                参数 描述
                    name 必需。规定要设置的属性名。
                    value 必需。规定要设置的属性值。
                说明:  该方法把指定的属性设置为指定的值。如果不存在具有指定名称的属性,该方法将创建一个新属性。

         6. 改变 HTML
            改变 HTML 内容:document.getElementById(id).innerHTML=new HTML
            改变 HTML 属性:document.getElementById(id).attribute=new value

          7.改变 CSS
            document.getElementById(id).style.property=new style

         8. 事件
              对 HTML 事件做出反应
                onclick=JavaScript
                    <h1 onclick="this.innerHTML='谢谢!'">请点击该文本</h1>
                    <h1 onclick="changetext(this)">请点击该文本</h1>

            HTML 事件属性
                向 button 元素分配 onclick 事件:
                    <button onclick="displayDate()">点击这里</button>

            使用 HTML DOM 来分配事件
                向 button 元素分配 onclick 事件:
                    <script>
       document.getElementById("myBtn").onclick=function(){displayDate()};
</script>

 

    (3)BOM:Browser Object Model  浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器“对话”。

Window:窗口对象
    alert();     显示带有一段消息和一个确认按钮的警告框      alert("文本")
    confirm();    弹出一个确认对话框   confirm("文本")
    open();     打开一个新窗口
    prompt();    显示可提示用户输入的对话框     prompt("文本","默认值")

    设置定时的方法
        * setInterval(); :每隔多少毫秒执行某个表达式.     * setInterval(“change()”,5000);
        * setTimeout(); :隔多少毫秒执行一个该表达式.    * setTimeout(“change()”,5000);
    清除定时的方法 clearInterval();
           (1) clearInterval(id_of_setinterval)
                var int=self.setInterval("clock()",50)
                window.clearInterval(int);
         (2)clearTimeout();
            clearTimeout(setTimeout_variable)
                 t=setTimeout("timedCount()",1000)
                clearTimeout(t)
Navigator:浏览器对象
Screen:屏幕对象
History:历史对象   go();   加载history 列表中的某个具体页面
Location:路径对象    href:   设置或者返回完整的URL

 

4.JS函数的定义和创建:

  创建
    function 函数名(参数){
函数体;
}
//默认返回值为true。
* window.onload = function(){

}
    var 函数名 = new Function(参数(函数体))
    var 函数名 = function(参数) {
函数体
}
js函数参数问题: 参数无数据类型,调用时不用按照方法里的参数规定来
js函数返回值问题:
  (1) 如果有返回值可以用return
       (2)有返回值不用声明返回值类型
            注:没有方法重载,可以用arguments模拟
       (3) 如果没有返回值就返回undefined