第三阶段-js

作者: 有一束阳光叫温暖 | 来源:发表于2018-04-07 21:16 被阅读0次

    一、javascript的简介

        1.基于对象和事件驱动的语言,应用与客户端

            a.基于对象:

            提供好了很多对象,可以直接拿过来使用

            b.事情驱动:

            html做静态效果,javascript做动态效果

            c.客户端:专门指的是浏览器

        2.js的特点

            a.交互性

            信息的动态交互

            b.安全性

            js不能访问本地磁盘的文件

            c.跨平台性

            java里面跨平台性,虚拟机,能够支持js的浏览器,都可以运行 

           d.javascript和java的区别:

            java是sun公司,现在是oracle,js网景公司

            javascript是基于对象的,jiava是面向对象

            java是强类型的语言,js是弱类型的语言

            java: int i = 10;

            js: var i = 10; var m = "10";

            javascript只需要解析就可以执行,而java需要先编译,再执行

        3.javascript的组成部分

            a.ECMAScript

            ECMA:欧洲计算机协会

            专门制定的js语法、语句

            b.BOM

            broswer object model:浏览器对象模型

            c.DOM

            document object model:文档对象模型

    二、js和html的结合方式

        第一种:使用一个标签<script type="text/javascript"></script>

        第二种:引用外部Js文件<script type="text/javascript" src=".js">

        注意:用引入就不要在js标签写代码了

    三、js的数据类型

        1.java的基本类型    

        2.定义变量都使用关键字var

        3.js的原始类型

            a.string: 字符串

            b.number: 数字类型

            c.Boolean:true和false

            d.null: 空

            e.undifined: 定义一个变量,没有赋值

        4.typeof() 查看当前变量的数据类型

    四、js基本语句

        1.跟java一样:if、switch、while、for

    五、js的运算符

        1. js里面不区分整数和小数

            var j = 123;

            alert(j/1000*1000);

            Java里面是0,而js123/1000=0.123*1000=123;

        2. 字符串的相加和相减操作

            a.如果相加时候,做的字符串拼接

            b.如果相减是数字类的字符串类型会进行相减运算,如果是字母其他类型的会提示NaN

        3. boolean类型也可以操作

            a.如果设置成true,相当于这个值是1

            b.如果设置成false,相当于这个值是0

        4. ==和===区别

            ==:比较的只是值

            ===:比较的是值和类型

        5.i++/++i和java里面一样

            i++:先执行后+1

            ++i:先+1后执行

        6.引入知识

            a.直接向页面输出语句(可以把内容显示在页面上)

             document.white("aaaa")

             document.white("<hr/>")

            b.可以向页面输出变量,固定值和html代码

    六、js的数组

        1.定义方式(3种)

            a.var arr =[1,2,3]; var arr = [1,"d",true];

            b.使用内置对象Array对象

            var arr = new Array(5);

            c.使用内置对象 Array

           var  arr2 = new Array(3,4,5);

            d.可以存放不同的数据类型

    七、js的函数

        1.第一种方式

            a.使用到一个关键字function

            function 方式名(参数列表){

                    方法体;

                返回值可又可无

            }

        2.第二种方式

            a.匿名函数

            var add = function(参数列表){

                方式体和返回值;

            }

        3.第一种方式(用得少,了解)

            a.动态函数

            使用到js里面的一个内置对象Function

            var add = new Function("参数列表",“方法和返回值“)

    八、js的全局变量和局部变量

        1.全局变量:在script标签里面定义个变量,这个变量在页面中的js部分都可以使用

        2.局部变量: 在方法内部定义个变量,只有内在方法内部可以使用

    九、script标签存放的位置

        1.建议script标签放到</body>后面

    十、js的String对象

        1.与HTML相似的使用方法(查看手册)

        2.与JAVA相似的使用方法

    十一、js的Array对象

        1.创建数组

        2.属性

        3.方法

    十二、js的Date对象

        1.在Java里面获取当前时间

        Date date = new Date()

        格式化:toLocaleString()

        2.js里面获取当前时间

        Var date = new Date();        

        document.write(date)

        //转换格式化

        document.write(“<hr/>”);

        document.write(date.toLocaleString());

        3.Date使用方法(查看手册)

    十三、js的Math对象

        1.都是静态方法,使用直接调用Math.方法()

    十四、js函数的重载(模拟)

        1.重载的定义:方法名相同,参数不同

        2.js不存在重载,但通过其他方式重载

        3.把传递的参数保存到arguments数字里

    十五、js的bom浏览器对象模型

        1.navigator:获取浏览器的信息

        2.screen:获取屏幕信息

        3.location: 请求url地址

            a.获取到请求url地址

            b.设置url地址

          -页面上安置一个按钮,按钮绑定一个事件,点击触发按钮

              例:点击跳转页面

            <input type=“button” value="tiaozhuan" onclick="herf1()";/>

            function herf1(){

                location.href = "hello.html";

            }

        4.history:请求的url的历史记录

            a.访问到上一个页面

            history.back();

            history.go(-1)

            b.访问到下一个页面

            history.forward();

            history.go(1)

        5.window(***)

            a.window.alert(): 页面弹出一个框,显示内容

            简写alert()

            b.confirm(): 确认框

            var flag = window.confirm("显示内容")

            c.prompt(): 输入的对话框

            window.prompt("在显示内容","输入框里面的默认值")

            window.prompt("please input: ","0")

            d.open(): 打开一个新的窗口

            open("打开一个新的窗口的url","","窗口的特征")

            e.close(): 关闭窗口

            f.做定时器

            表示每三秒,执行一次alert方法

            *setInterval("js代码",毫秒数);

            表示在毫秒之后执行,只会执行一次

            *setTimeout("js代码",毫秒数)

            *clearInterval():清除setInterval

            *clearTimeout(): 清除setTimeout

    十六、js的dom文档模型对象

        1.文档:超文本文档

        2.对象:提供属性和方法

        3.模型:使用属性和方法操作超文本标记文档

        4.解析过程

            --document对象:整个文档

            --element对象:标签对象

            --属性对象

            --文本对象

            --Node结点对象:是这些对象的父对象

            如果找不到想要的方法,Node对象里面找

        5.常用的方法

            a.write():

            -向页面输出变量

            -向页面输出html代码

            b.getElementById();

            通过id得到的元素

            例子:var input1 = document.getElementById("nameid");

            alert(input.name);

            input1.value = "bbbbbb";

            c.getElementsByName();

            通过标签的name的属性值得到标签

            d.getElementsByTagName("标签名称");

            通过标签名称得到元素

            e.注意的地方

            只有一个标签,这个标签只能使用name获取,使用getElementsByName返回的是一个数组

            var inputs2 = document.getElementsByName("name11")[0];

            alert(inputs2.value);

    十七、元素对象(element对象)

        1.要操作element对象,首先必须要获取到element

            a.使用document里面相应的方法获取

        2.方法

            a.获取属性里面的值

            getAttribute("属性名称")

            var input1 = document.getElementById("inputid");

            alert(input1.getAttribute("value"));

            b.设置属性的值

            input1.setAttribute("class","hahah");

            c.删除属性

            input1.removeAttribute("name");

            !不能删除value

    十八、Node对象属性

        * nodeName

        * nodeType

        * nodeValue

        * 使用dom解析html,需要html里面的标签,属性和文本都封装成对象

        1.标签节对应的值

        * nodeName: 大写标签名称

        * nodeType: 1

        * nodeValue: null 

        2.属性结点对应的值

        * nodeName:  属性名称

        * nodeType: 2 

        * nodeValue:属性的值

        3.文本结点对应的值

        * nodeName:  属性名称

        * nodeType:  3

        * nodeValue: 属性的值

    十九、Node对象属性之二

        1.父节点

            a.ul是li的父节点

            parentNode

            var li1 = document.getElementById("li1");

            var ul1 = li1.parentNode;

            alert(ul1.id);

        2.子节点

            a.li是ul的子节点

            childNode: 得到所有子节点,但是兼容性很差

            firstChild: 获取第一个子节点

            lastChild: 获取最后一个字节点

        3.同辈结点

            a.li直接关系是同辈结点

           b.nextSibling:返回一个给定节点的下一个兄弟节点

            c.previousSibling:返回一个给定节点的上一个兄弟节点

    二十、操作dom树

            1.appendChild方法

            a.添加子节点到末尾

            b.特点:类似剪切粘贴的效果

        2.insertBefore(newNode,oldNode)方法

            a.在某个节点之前插入一个新的节点

            b.两个参数

            *要插入的节点

            *在谁之前插入

            c.插入一个节点,节点不存在,创建

                2.1 创建标签

                 2.2 创建文本

                 2.3 把文本添加到标签下面

            d.例子:

           1.获取到lil标签

          2.创建li

          3.创建文本

         4.把文本添加到li下面

         5.获取到ul

         6.把li添加到ul下面

            在<li>貂蝉</li>之前添加<li>詹姆斯</li>

           //获取貂蝉标签

          var lil3 = document.getElementById("lil3");

         //创建li

         var lil5 = document.createElement("li");

         //创建文本

          var text15 = document.createTextNode("詹姆斯");

         //文本添加到li下面,appendChild

         lil5.appendChild(text15);

         //获取到ul

         var ul21 = document.getElementById("ulid21");

         //在<li>貂蝉</li>之前添加<li>詹姆斯</li>

         ul21.insertBefore(lil5,lil3);

           e.removeChild方法:删除节点

            a.通过父节点删除,不能自己删除自己

        1.获取到li24标签

        2.获取父节点ul标签

        3.通过父节点执行删除

        f.replaceChild(newNodem,oldNode):替换节点

           a.通过父节点替换,不能自己替换自己

           b.步骤

        1.获取旧的节点

        2.创建标签li

        3.创建文本

        4.把文本添加到li下面

        5.获取父节点ul标签

        6.执行替换操作

        g.cloneNode(boolean):复制节点

        a.操作步骤

            1.获取ul

            2.执行复制方法cloneNode方法复制true

            3.把复制之后的内容放到div里面去

        3.1 获取到div

        3.2 appendChild方法

    二十一、innerHTML属性

        1.第一作用:获取文本内容

            a. var span1 = document.getElementById("sid");

            alert(span1.innerHTML);

        2.第二作用:向标签里面设置内容

            a.例子:向div里面设置内容

                1.获取div

                2.设置内容

    相关文章

      网友评论

        本文标题:第三阶段-js

        本文链接:https://www.haomeiwen.com/subject/zehuhftx.html