黑猴子的家:JavaWeb 之 Java Script

1、Java Script 概述

(1)Why?

拨号上网Time:
网速很慢,数据提交到服务器端验证,体验很差
JavaScript横空出世,担当了浏览器端数据验证的重任,从此一发不可收拾
五彩缤纷的现在:
时至今日JavaScript已经不仅仅局限于表单验证,她还能为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。

(2)What?

JavaScript是一门客户端脚本语言,主要运行在浏览器中,浏览器中负责运行JavaScript脚本代码的程序叫JavaScript引擎。
只有当浏览器读取javaScript代码时,才进行解释、执行。所以查看HTML源文件就能查看JavaScript源代码。

2、Java Script 案例

9193428-09b3bb6d153430fa.png
9193428-309eb7a72cd1c615.png

3、Java Script 练习

9193428-437a1e53fa2c75e8.png

4、Java Script Hello World 案例

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
    <!-- 1.JavaScript代码写在HTML中的script标签中 -->
    <script type="text/javascript">
        //2.借助window.onload事件在文档加载完成后执行程序
        window.onload = function() {
            //3.从文档中获取<button id="btnId">SayHello</button>标签对应的元素节点对象
            var btnEle = document.getElementById("btnId");
            //4.绑定单击事件响应函数
            //给按钮对象的单击事件属性赋值一个函数的引用
            btnEle.onclick = function() {
                //5.在事件的响应函数中弹出警告框
                window.alert("大数据专业");
            };
        };
    </script>
</head>
<body>
    <button id="btnId">SayHello</button>
</body>
</html>

5、Java Script 基本语法案例

(1)变量
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
    //01.使用var关键字声明变量,声明时不需要指定类型
    var a = 20;
    var b = 'abc';
    var c = true;
    alert(a+" "+b+" "+c);
    //02.变量在使用过程中可以接受不同类型的值
    a = "Hello";
    b = 230.53;
    c = ["good",true,20];
    alert(a+" "+b+" "+c);
</script>
</head>
<body>

</body>
</html>
(2)函数
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
    //01.声明函数使用function关键字,不需要指定返回值类型,形参也不需要指定类型
    function sum(a,b) {
        return a+b;
    }
    //02.调用函数:不检查实参的类型,个数
    var result = sum(5,10);
    alert(result);
    result = sum("Hello ","Tom");
    alert(result);
    result = sum("Hello ");
    alert(result);
</script>
</head>
<body>

</body>
</html>
(3)函数是对象
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
    //在JavaScript中,函数也作为一种数据类型存在,而且是引用数据类型,函数名就是指向其内存空间地址的引用
    function sum(a,b) {
        return a+b;
    }
    alert(sum);
    var ref01 = sum;
    alert("ref01="+ref01);
    var ref02 = sum;
    alert("ref02="+ref01);
</script>
</head>
<body>

</body>
</html>
(4)回调函数
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
    //回调函数:声明后,不由自己调用,而是交给系统或其他函数执行的函数
    function callBack() {
        window.alert("I am call back!");
    }
    function call(fun) {
        fun();
    }
    window.callBack();
    call(callBack);
</script>
</head>
<body>

</body>
</html>
(5)this关键字
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
    //在JavaScript中,任何一个函数都是由对象调用的
    //在函数中可以通过this关键字引用调用这个函数的对象
    var obj01 = {
        name : "obj01 name",
        getName : showName
    };
    var obj02 = {
        name : "obj02 name",
        getName : showName
    };
    function showName() {
        alert(this.name);
    }
    //对象的属性指向了一个函数,所以也是函数的一个引用
    //函数的引用加上()就是执行引用的函数
    obj01.getName();
    obj02.getName();
</script>
</head>
<body>

</body>
</html>
(6)Object
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
    //在JavaScript中创建对象
    //1.new Object()
    var objByNew = new Object();
    objByNew.userName = "Tom2014";
    objByNew.password = "123456";
    alert(objByNew.userName+" "+objByNew.password);
    //2.JSON格式
    //{属性名01:属性值01,属性名02:属性值02,...}
    var objByJSON = {
            userName : "Jerry",
            password : "654321"
        };
    alert(objByJSON.userName+" "+objByJSON.password);
</script>
</head>
<body>

</body>
</html>

6、Java Script 事件案例

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
    /*
    地雷                  事件监听和响应
    生产                  声明一个事件响应函数
    找一个埋设的位置        从文档中获取一个按钮对象
    埋设                  将响应函数绑定到按钮对象上
    触发引信爆炸          在浏览器捕获到用户对按钮的单击事件时执行响应函数
    */
    window.onload = function(){
        //1.从文档中获取按钮对象
        var btn = document.getElementById("btnId");
        //2.声明一个事件响应函数
        /* function myClick() {
            alert("Bom!");
        } */
        //3.将响应函数的引用赋值给按钮对象的onclick属性——绑定
        /* btn.onclick = myClick; */
        btn.onclick = function () {
            alert("Bom!~~~");
        }; 
    }
</script>
</head>
<body>
    <button id="btnId">SayHello</button>
</body>
</html>

7、Java Script 加载方式案例

(1)load1.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    <!-- 写在HTML标签内,结构与行为耦合,不推荐 -->
    <button onclick="alert('hello~~~')">SayHello</button>
</body>
</html>
(2)load2.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<!-- 写在script标签内:无法获取button -->
<script type="text/javascript">
    /*
    浏览器加载HTML文件时,是按照从上到下的顺序加载,
    如果遇到script标签,就停下来先执行script标签中的程序,
    执行完程序以后,再回过头来继续加载后面的HTML标签
    */
    //3.使用DOM API从文档中获取id="btnId"按钮对象
    var btn = document.getElementById("btnId");
    alert(btn);
    //4.给按钮对象绑定单击响应函数
    btn.onclick = function() {  
        //5.在响应函数中弹出Hello
        alert("Hello!~~~");
    };
</script>
</head>
<body>
    <button id="btnId">SayHello</button>
</body>
</html>
(3)load3.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    <button id="btnId">SayHello</button>
</body>
<!-- 写在body标签后面,能获取到button,但不符合习惯 -->
<!-- 
    类名:首字母大写,后面驼峰式命名
    变量和方法:首字母小写,后面驼峰式命名
    包:全部小写,单词用.分隔
 -->
<script type="text/javascript">
    //3.使用DOM API从文档中获取id="btnId"按钮对象
    var btn = document.getElementById("btnId");
    alert(btn);
    //4.给按钮对象绑定单击响应函数
    btn.onclick = function() {
        //5.在响应函数中弹出Hello
        alert("Hello!~~~");
    };
</script>
</html>
(4)load4.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<!-- 使用window.onload -->
<script type="text/javascript">
    //在整个文档加载完成后执行这个函数
    function myPrograme() {
        var btn = document.getElementById("btnId");
        alert(btn);
        //4.给按钮对象绑定单击响应函数
        btn.onclick = function() {
            //5.在响应函数中弹出Hello
            alert("Hello!Success!~~~");
        };
    }
    //将myPrograme绑定到“文档加载完成”这个事件上
    //window代表当前浏览器窗口,它加载HTML文档完成后触发“文档加载完成”这个事件
    window.onload = myPrograme;
</script>
</head>
<body>
    <button id="btnId">SayHello</button>
</body>
</html>

8、DOM

(1)dom.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Untitled Document</title>
        <link rel="stylesheet" type="text/css" href="style/css.css" />
        <script type="text/javascript">
            window.onload = function() {
                var btn01Ele = document.getElementById("btn01");
                btn01Ele.onclick = function() {
                    //查找北京这个城市
                    //<li id="bj">北京</li>
                    //查询元素时通常都是根据元素的特点进行获取
                    //在整个HTML文档中,id属性的值不能重复,否则只有第一个有效
                    //给元素节点对象的变量命名时,最好以Ele或Element结尾
                    var bjEle = document.getElementById("bj");
                    alert(bjEle.firstChild.nodeValue);
                    //<p><b>tt</b></p>
                };
                var btn02Ele = document.getElementById("btn02");
                btn02Ele.onclick = function() {
                    //查找全部城市、游戏和手机
                    var liEleArr = document.getElementsByTagName("li");
                    //alert(liEleArr.length);
                    for(var i = 0; i < liEleArr.length; i++) {
                        alert(liEleArr[i].firstChild.nodeValue);
                    }
                };
                var btn03Ele = document.getElementById("btn03");
                btn03Ele.onclick = function() {
                    //查找所有单选框
                    /* gender:
                    <input type="radio" name="gender" value="male"/>
                    Male
                    <input type="radio" name="gender" value="female"/> */
                    var genderEleArr = document.getElementsByName("gender");
                    alert(genderEleArr.length);
                };
                var btn04Ele = document.getElementById("btn04");
                btn04Ele.onclick = function(){
                    //读取文本框中的输入内容
                    var usernameEle = document.getElementById("username");
                    //读取属性值——元素对象.属性名
                    //文本框的输入内容可以通过value属性进行读写
                    alert(usernameEle.value);
                };
                var btn05Ele = document.getElementById("btn05");
                btn05Ele.onclick = function(){
                    //设置文本框中的输入内容
                    var usernameEle = document.getElementById("username");
                    //设置属性值——元素对象.属性名=新值
                    //文本框的输入内容可以通过value属性进行读写
                    usernameEle.value = "new value";
                };
                var btn06Ele = document.getElementById("btn06");
                btn06Ele.onclick = function() {
                    //读取北京这个城市的文本内容方式一
                    //文本节点对象和文本节点中的文本内容
                    //使用DOM标准中定义的API获取文本值
                    //1.获取文本节点父节点
                    //<li id="bj">北京</li>
                    var bjEle = document.getElementById("bj");
                    //2.调用父节点的 firstChild属性得到它的第一个子节点
                    //alert(bjEle.firstChild.nodeName);#text
                    var textNode = bjEle.firstChild;
                    //3.得到文本节点后再获取节点的值
                    var textContent = textNode.nodeValue;
                    alert("full:"+textContent);
                    //简化写法
                    alert("simple:"+bjEle.firstChild.nodeValue);
                };
                var btn07Ele = document.getElementById("btn07");
                btn07Ele.onclick = function() {
                    //读取北京这个城市的文本内容方式二
                    //1.获取文本节点父节点
                    //<li id="bj">北京</li>
                    var bjEle = document.getElementById("bj");
                    //使用时注意:这是一个属性,不是方法,不要在后面加()
                    //alert("innerHTML="+bjEle.innerHTML);
                    var cityEle = document.getElementById("city");
                    alert(cityEle.innerHTML);
                };
            };
        </script>
    </head>
    <body>
        <div id="total">
            <div class="inner">
                <p>
                    你喜欢哪个城市?
                </p>
                <ul id="city">
                    <li id="bj">北京</li>
                    <li>上海</li>
                    <li>东京</li>
                    <li>首尔</li>
                </ul>
                <br>
                <br>
                <p>
                    你喜欢哪款单机游戏?
                </p>
                <ul id="game">
                    <li id="rl">红警</li>
                    <li>实况</li>
                    <li>极品飞车</li>
                    <li>魔兽</li>
                </ul>
                <br />
                <br />
                <p>
                    你手机的操作系统是?
                </p>
                <ul id="phone"><li>IOS</li><li id="android">Android</li><li>Windows Phone</li></ul>
            </div>
            <div class="inner">
                gender:
                <input type="radio" name="gender" value="male"/>
                Male
                <input type="radio" name="gender" value="female"/>
                Female
                <br>
                <br>
                name:
                <input type="text" name="name" id="username" value="abcde"/>
            </div>
        </div>
        <div id="btnList">
            <div><button id="btn01">查找北京这个城市</button></div>
            <div><button id="btn02">查找全部城市、游戏和手机</button></div>
            <div><button id="btn03">查找所有单选框</button></div>
            <div><button id="btn04">读取文本框中的输入内容</button></div>
            <div><button id="btn05">设置文本框中的输入内容</button></div>
            <div><button id="btn06">读取北京这个城市的文本内容方式一</button></div>
            <div><button id="btn07">读取北京这个城市的文本内容方式二</button></div>
        </div>
    </body>
</html>
(2)style.css
@CHARSET "UTF-8";
body {
    width: 800px;
    margin-left: auto;
    margin-right: auto;
}
button {
    width: 300px;
    margin-bottom: 10px;
}
#btnList {
    float:left;
}
#total{
    width: 450px;
    float:left;
}
ul{
    list-style-type: none;
    margin: 0px;
    padding: 0px;
}
.inner li{
    border-style: solid;
    border-width: 1px;
    padding: 5px;
    margin: 5px;
    background-color: #99ff99;
    float:left;
}
.inner{
    width:400px;
    border-style: solid;
    border-width: 1px;
    margin-bottom: 10px;
    padding: 10px;
    float: left;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值