JavaWeb学习总结(六)JavaScript

JavaScript基础语法

1.书写语法
    1.1区分大小写:和Java一样
    1.2分号可有可无
    1.3注释和java一样
    1.4大括号表示代码块
2.输出语句
    Windows.alter() 警告框输出
    document.write() html文件输出
    console.log() 控制台输出

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS输出语句</title>
</head>
<body>
    <script>
        window.alert("hello JavaScript1~");
        document.write("hello JavaScript2~");
        console.log("hello JavaScript3~");
    </script>
</body>
</html>

3.变量
      var
    *   1.作用域大全局变量
    *   2.可以重复相同的变量名
    * let
    *   1.当前作用域
    *   2.不可以重复相同的变量名
    * 变量可以赋值不同的数据类型
    * 常量const

4.数据类型
原始数据类型 引用数据类型
number:数字(整数、小数、NaN)
string:字符、字符串、单双引号都可以
boolean:布尔、ture、false
null:对象为空
undefined:当声明的变量未初始化时,该变量的默认值是undefined
typeof 变量名称返回对应的数据类型

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>变量数据类型</title>
</head>
<body>
<script>
    var test2=666;
    var test1=666;
    var test1=888
/*    var
    *   1.作用域大全局变量
    *   2.可以重复相同的变量名
    * let
    *   1.当前作用域
    *   2.不可以重复相同的变量名
    * 变量可以赋值不同的数据类型
    * 常量const*/
    {
        let test=777;
        alert(test2)
    }
    alert(test1)
    const number='sdasdasd';
    alert(number)

</script>
</body>
</html>

5.运算符
类型转换
    其他类型转为number
    1.string:按照字符串的字面值,转为数字,如果字面值不是数字,则转为false,其他的数字转化为true。
    2.boolean:ture转为1,false转为0
    其他类型转为boolean
    1.number:0和NaN转为false
    2.string:空字符串转为false

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>运算符</title>
</head>
<body>
    <script>
        /*类型转换
	        其他类型转为number
	                1.string:按照字符串的字面值,转为数字,如果字面值不是数字,
                则转为false,其他的数字转化为true。
	                2.boolean:ture转为1,false转为0
	            其他类型转为boolean
	                1.number:0和NaN转为false
	                // 健壮性判断
	                2.string:空字符串转为false,*/
        var test=500;
        var test_="500";
        // string会转为数字比较
        // ==比较的是俩个数的值
        // ===比较两个数值和数据类型
        if (test == test_){
            alert("输出为ture")
        }else {
            alert("输出为false")
        }
        if (0){
            alert("输出为ture")
        }else {
            alert("输出为false")
        }
        if (1){
            alert("输出为ture")
        }else {
            alert("输出为false")
        }
        if (NaN){
            alert("输出为ture")
        }else {
            alert("输出为false")
        }
        if (""){
            alert("输出为ture")
        }else {
            alert("输出为false")
        }
    </script>
</body>
</html>

6.流程控制语句
    会javaSE就够了
7.函数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>函数</title>
</head>
<body>


    <script>
        /*
        * 被设计为执行特定任务的代码块
        	定义:JavaScript函数通过function关键字进行定义,语法为:
                fanctio functionName(参数1,参数2,......){
                }
        	注意:
        		1.形式参数不需要类型。因为JavaScript是弱类型语言
        		2.返回值也不需要定义类型,可以在函数内部直接使用return·1
        		返回即可。
        */
        //法一
        function add(a,b) {
            return a+b;
        }
        alert(add(12,30,50,5,15,1))     //多参数不报错
        alert(add(12));     //少参数返回Nan
        //法二
        var a=function (a,b) {
            return a*b
        }
        let a1 = a(10,2);
        alert(a1)


    </script>
</body>
</html>

JavaScript对象

Array定义对象
  数组是变长的,变类型,类似于java的集合
    定义
    var 变量名 = new Array(元素列表);
    var 变量名 = [元素列表];
    例子
    var arr = new  Array(1,2,3);
    var arr = [1,2,3];
    访问
    变量名[索引值]
  属性:length:数组中元素的个数
  方法:
    1.push:添加方法
    2.splice:删除数组
        splice(删除开始值,结束值)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>数组</title>
</head>
<body>
    <script>
        /*
        * Array定义对象
            // 数组是变长的,变类型,类似于java的集合
            	定义
            	var 变量名 = new Array(元素列表);
            	var 变量名 = [元素列表];
            	例子
            	var arr = new  Array(1,2,3);
            	var arr = [1,2,3];
            	访问
            	变量名[索引值]
            //属性:length:数组中元素的个数
            // 方法:
            	1.push:添加方法
            	2.splice:删除数组
            		splice(删除开始值,结束值)*/
        var a=new Array(1,2,3,4,5,6,7);
        alert("数组法一:"+a);
        var b=[1,2,3,4,5,6];
        alert("数组法二:"+b);
        //属性length
        let length = b.length;
        alert("数组length属性:"+length);
        //方法splice
        let numbers = a.splice(1,3);
        alert("数组splice方法:".charAt(1)+numbers)
        var c=[1,2,3,4,"6",'7','结束'];
        alert(c)
        for (i=0;i<c.length;i++){
            alert(c[i]);
        }
        c.push("嗨嗨嗨开始了!");
        alert(c);
        alert(c[20]);
    </script>
</body>
</html>

String定义对象
    方式
    1.var str1 = new srting(“abc”);
    方式
    2.var str2 =‘abc’;
    2.var str2 = “abc”
  // 属性:length:返回字符串长度
  // trim():去除字符串前后端的空白字符
    例子
        var stat = “   abc   ”
        alter(stat.ttim) 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>String对象</title>
</head>
<body>
    <script>
        let str1 = String("abc");
        alert(str1);
        let str2 ='abc';
        alert(str2);
        let str3 ="abc";
        alert(str3)
        //length属性
        alert(str1+str2+str3);
        //方法大多数的方法都类似于Java,trim()去除空格
        let str4 = "   123   ";
        alert(1+str4.trim()+1)
        alert(str4)
    </script>
</body>
</html>

自定义对象   

var person = {
        属性1:值
        属性1:值
        函数名称:function (){}
    }

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>自定义对象</title>
</head>
<body>
  <script>
      var User={
          age:18,
          name:"张三",
          address:"北京",
          eat:function (a,b) {
              return a+b;
          }
      }
      alert(User.age);
      alert(User.name);
      alert(User.address);
      alert(User.eat(12,10));
  </script>
</body>
</html>

BOM对象
window对象可以省略
    window:浏览器窗口对象
        alter:警告框
        confirm:对话框    返回值类型为boolean
        setTimeout:一段时间执行一个function,只执行一次
        setInterval:一段时间执行一个function,循环执行
    Naviger:浏览器对象
    Screen:用户屏幕对象
    History:历史记录对象
        window.history.方法()
        back()返回上一个URL
        forward()返回下一个URL
    Location:地址栏对象
        window.location.方法();
        href()    设置或返回完整的URL

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>BOM对象</title>
</head>
<body>
    <script>
            /*
	            window:浏览器窗口对象
	            	alter:警告框
	            	confirm:对话框	返回值类型为boolean
	            	setTimeout:一段时间执行一个function,只执行一次
	            	setInterval:一段时间执行一个function,循环执行
	            Naviger:浏览器对象
	            Screen:用户屏幕对象
	         window对象可以省略
	            History:历史记录对象
	            	window.history.方法()
	            	back()返回上一个URL
	            	forward()返回下一个URL
	            Location:地址栏对象
	            	window.location.方法();
	            	href()	设置或返回完整的URL
             */
            window.confirm("我是一个对话框!");
            window.setTimeout(function () {
                window.location.href="https://www.baidu.com"
            },3000)
    </script>
</body>
</html>

DOM对象
    获取Element
        获取Element对象
            1.getElementsByTagName    标签名称获取返回Element数组
            2.getElementsByName        根据name属性值获取,返回Element数组
            3.getElementsByClassName    根据class属性值获取,返回Element数组
            4.getElementsById        根据id属性值获取返回一个Element对象
        Element对象属性的使用
            style:设置Css样式
            innerHTML:设置元素内存
            checkbox:ture false选中框

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>DOM对象</title>
</head>
<body>

    <font id="NewTitle" >标题</font>
    <input type="button" name="button" class="ClassTitle" value="button">
    <div>
        <p>
        <h2>
            我是文字1.
        </h2>
        </p>
    </div>

    <div>
        <p>
        <h2>
            我是文字1.
        </h2>
        </p>
    </div>
    <div>
        <p>
        <h2>
            我是文字1.
        </h2>
        </p>
    </div>
    <script>
        //获取Element对象
        let elementsByClassName = document.getElementsByClassName("ClassTitle");
        let elementsByName = document.getElementsByName("button");
        let elementById = document.getElementById("NewTitle");
        let elementsByTagName = document.getElementsByTagName("div");
        for (let i=0;i<elementsByTagName.length;i++){
            elementsByTagName[i].style.color='red';
        }
        elementsByClassName[0].style.color='blue';
        elementById.style.color='yellow';
        elementsByName[0].style.color='brown';
        elementsByTagName[0].innerHTML="我是文字0";
    </script>
</body>
</html>

JavaScript事件监听

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>事件监听</title>
</head>
<body>
    <input type="button" name="按钮1" id="NewButton" onclick="add(12,13)" value="按钮1"> <br>
    <input type="button" name="按钮2" id="NewButton1" value="按钮2">
    <script>
        var add=function (a,b){
            return alert(a+b);
        };
        document.getElementById("NewButton1").onclick=function () {
            alert("无耦合方法输出")
        };
    </script>
</body>
</html>

JavaScript表单验证

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表单验证</title>
    <style>
        #error{
            color: red;
        }
        #error_password{
            color: red;
        }
    </style>
</head>
<body>
    <form id="login" action="#" >
        <table width="300" >
            <tr>
                <td><h3>用户名:</h3></td>
                <td><input type="text" id="username" name="用户名"><br>
                    <span id="error" style="display:none">用户名输入有误!</span>
                </td>
            </tr>
            <tr>
                <td></td>
            </tr>
            <tr>
                <td><h3>密 码:</h3></td>
                <td><input type="password" id="password" name="密码">
                    <br>
                    <span id="error_password" style="display:none">密码输入有误!</span>
                </td>
            </tr>
            <tr>
                <td></td>
                <td> <input type="submit" value="登录"></td>
            </tr>
        </table>
    </form>

    <script>
        var usernameInput = document.getElementById("username");
        usernameInput.onblur=checkUsername;
        function checkUsername () {
            var reg = /^\w{1}\d{8}$/;
            var value = usernameInput.value;
            var flag = reg.test(value);
            //var flag=usernameInput.value.length>=6 && usernameInput.value.length<=12;

            if (flag){
                document.getElementById("error").style.display='none';
            }else {
                document.getElementById("error").style.display='';
            }
            return flag;
        }

        var password = document.getElementById("password");
        password.onblur=checkPassword;
        function checkPassword () {
            var reg = /^\d{6}$/;
            var value = password.value;
            var flag = reg.test(value);
            //var flag=password.value.length>=6 && password.value.length<=12;
            if (flag){
                document.getElementById("error_password").style.display='none';
            }else {
                document.getElementById("error_password").style.display='';
            }
            return flag;
        }

        var elementById = document.getElementById("login");
        elementById.onsubmit=function () {
            var flag=checkPassword()&&checkUsername ();
            return flag;
        }
    </script>
</body>
</html>

 JavaScript正则表达式

  • 25
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值