javaweb--JavaScript

本文介绍了JavaScript的基本概念,包括其起源、不同与Java的区别,以及如何通过内部和外部脚本引入。随后详细讲解了JavaScript的基础语法,如变量、数据类型、运算符、流程控制、函数、对象(如Array、String和自定义对象)、浏览器对象模型(BOM)、DOM操作、事件监听、表单验证和正则表达式的应用。
摘要由CSDN通过智能技术生成

一:简介

JavaScript 是一门跨平台、面向对象的脚本语言 ,用来控制网页行为的,它能使网页可交互
JavaScript Java 是完全不同的语言,不论是概念还是设计,只是名字比较像而已,但是基础语法类似
JavaScript (简称: JS ) 在 1995 年由 Brendan Eich 发明,并于 1997 年成为一部 ECMA 标准。 ECMAScript 6 ( 简称 ES6) 是最新的 JavaScript 版本(发布于 2015 )

二:JavaScript引入方式

1.内部脚本:

2.外部脚本:

三:JavaScript基础语法

1.书写语法

2.输出语句

<script>
    window.alert("hello js");//写入警告框
    document.write("hello js");//写入html页面
    console.log("hello js");//写入浏览器的控制台
</script>

3.变量

4.数据类型

5.运算符

 /*
        ==:
            1. 判断类型是否一样,如果不一样,则进行类型转换
            2. 再去比较其值

        ===:全等于
            1. 判断类型是否一样,如果不一样,直接返回false
            2. 再去比较其值

     */
    var age1 = 20;
    var age2 = "20";

    // alert(age1 == age2);// true
    // alert(age1 === age2);// false
 /*
        类型转换:
            * 其他类型转为number:
                1. string: 按照字符串的字面值,转为数字.如果字面值不是数字,则转为NaN。一般使用parseInt
                2. boolean: true 转为1,false转为0

            * 其他类型转为boolean:
                1. number:0和NaN转为false,其他的数字转为true
                2. string:空字符串转为false,其他的字符串转为true
                3. null:false
                4. undefined:false


     */

    var str = +"20";//表示转换

    var str = "20";
    alert(parseInt(str) + 1);   //  21


    var flag = +false;
    alert(flag);    //  1

    var str = "abc";    //转为true
     var flag = 3;  //转为false
    var flag = "";  //无内容,转为false
    var flag = undefined;  //转为false

    if(flag){
        alert("转为true");
    }else {
        alert("转为false");
    }



    //健壮性判断
    //if(str != null && str.length > 0){
    if(str){
        alert("转为true");
    }else {
        alert("转为false");
    }

6.流程控制语句


    //1. if
    var count = 3;
    if (count == 3) {
        alert(count);
    }*/



    //2. switch
    var num = 3;
    switch (num) {
        case 1: {
            alert("星期一");
            break;
        }

        case 2: {
            alert("星期二");
            break;
        }

        case 3: {
            alert("星期三");
            break;
        }

        case 4: {
            alert("星期四");
            break;
        }

        case 5: {
            alert("星期五");
            break;
        }

        case 6: {
            alert("星期六");
            break;
        }

        case 7: {
            alert("星期日");
            break;
        }

        default: {
            alert("输入的星期有误");
            break;
        }
    }



    // 3. for
    var sum = 0;
    for (let i = 1; i <= 100; i++) {
        sum += i;
    }
    alert(sum);



   // 4. while
    var sum = 0;
    var i = 1;
    while (i <= 100) {
        sum += i;
        i++;
    }
    alert(sum);



   // 5. do...while
    var sum = 0;
    var i = 1;
    do {
        sum += i;
        i++;
    }
    while (i <= 100);
    alert(sum);

7.函数

(1)方式一

function add(a,b){
       return a + b;
   }


   var result = add(1,2);

   alert(result);

(2)方式二

 var add = function (a,b){
       return a + b;
   }

   var result = add(1,2);   //3
   alert(result);

   var result1 = add(1,2,3); //3
    alert(result1)

   var result2 = add(1);    //NAN
   alert(result2);

四:JavaScript常用对象

1.Array对象

<script>

    //定义数组
    // 方式一
    var arr = new Array(1,2,3);
    alert(arr);
    // 方式二
    var arr2 = [1,2,3];
    alert(arr2);

    // 访问
    arr2[0] = 10;
    alert(arr2)


    // 特点:JavaScript数组相当于Java中集合。变长变类型

    // 变长
    var arr3 = [1,2,3];
    arr3[10] = 10;
    alert(arr3[10]);   //数组长度只有3,但可以访问10
    alert(arr3[9]);

    // 变类型
    arr3[5] = "hello";
    //alert(arr3[5]);   //不同类型可以在同一个数组中
    //alert(arr3);


    // 属性:length:数组中元素的个数
    var arr4 = [1,2,3];
    for (let i = 0; i < arr4.length; i++) {
        alert(arr4[i]);
    }

    // 方法:
       push:添加方法
    var arr5 = [1,2,3];
    arr5.push(10);
    alert(arr5);

       splice:删除元素
    arr5.splice(0,1);
    alert(arr5);

</script>

2.String对象

<script>
    //定义
    //方式一
    var str1 = new String("abc");
    //方式二
    var str2 = "abc";
    var str3 = 'abc';


    //length
     alert(str3.length);   //3


    // trim():去除字符串前后两端的空白字符
    var str4 = '  abc  ';
    alert(1 + str4 + 1);    //1  abc  1
    alert(1 + str4.trim() + 1);    //1abc1

</script>

3.自定义对象

五:BOM

1.window

<script>

    // alert
     window.alert("abc");
     alert("bbb");   //两者皆可


    // confirm,点击确定按钮,返回true,点击取消按钮,返回false
    var flag = confirm("确认删除?");

    alert(flag);
    if(flag){
        //删除逻辑
    }


    // 定时器
    //setTimeout(function,毫秒值): 在一定的时间间隔后执行一个function,只执行一次
      setTimeout(function (){
          alert("hehe");
      },3000);


    //setInterval(function,毫秒值):在一定的时间间隔后执行一个function,循环执行
      setInterval(function (){
          alert("hehe");
      },2000);

</script>

2.History

3.Location

<script>

    alert("要跳转了");
    location.href = "https://www.baidu.com";


    //3秒跳转到首页
    document.write("3秒跳转到首页...");
    setTimeout(function (){
        location.href = "https://www.baidu.com"
    },3000);

</script>

六:DOM

1.概述

DOM Document Object Model 文档对象模型。也就是 JavaScript HTML 文档的各个组成部分封装为对象。
DOM 其实我们并不陌生,之前在学习 XML 就接触过,只不过 XML 文档中的标签需要我们写代码解析,而 HTML 文档是浏览器解析。封装的对象分为:
Document :整个文档对象
Element :元素对象
Attribute :属性对象
Text :文本对象
Comment :注释对象

作用:JavaScript 通过 DOM, 就能够对 HTML进行操作了 ;改变 HTML 元素的内容 ;改变 HTML 元素的样式(CSS) ;对 HTML DOM 事件作出反应 ;添加和删除 HTML 元素

DOM 相关概念:
DOM W3C (万维网联盟)定义了访问 HTML XML 文档的标准。
该标准被分为 3 个不同的部分:
1. 核心 DOM :针对任何结构化文档的标准模型。 XML HTML 通用的标准
        Document:整个文档对象
        Element:元素对象
        Attribute:属性对象
        Text:文本对象
        Comment:注释对象
2. XML DOM : 针对 XML 文档的标准模型
3. HTML DOM : 针对 HTML 文档的标准模型
该标准是在核心 DOM 基础上,对 HTML 中的每个标签都封装成了不同的对象
例如: <img> 标签在浏览器加载到内存中时会被封装成 Image 对象,同时该对象也是 Element 对象。
例如: <input type='button'> 标签在浏览器加载到内存中时会被封装成 Button 对象,同时该对象也是Element 对象

2.获取Element对象

HTML 中的 Element 对象可以通过 Document 对象获取,而 Document 对象是通过 window 对象获取。
Document 对象中提供了以下获取 Element 元素对象的函数
getElementById() :根据 id 属性值获取,返回单个 Element 对象
getElementsByTagName() :根据标签名称获取,返回 Element 对象数组
getElementsByName() :根据 name 属性值获取,返回 Element 对象数组
getElementsByClassName() :根据 class 属性值获取,返回 Element 对象数组

七:事件监听

HTML 事件是发生在 HTML 元素上的 事情 。比如:页面上的 按钮被点击 、  鼠标移动到元素之上 ,按下键盘按键等都是事件。
事件监听是 JavaScript 可以在事件被侦测到时 执行一段逻辑代码。

1.事件绑定

2.常见事件

查看文档,查询事件;

八:表单验证

需求:

1. 当输入框失去焦点时,验证输入内容是否符合要求
2. 当点击注册按钮时,判断所有输入框的内容是否都符合要求,如果不合符则阻止表单提交
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>欢迎注册</title>
    <link href="../css/register.css" rel="stylesheet">
</head>
<body>

<div class="form-div">
    <div class="reg-content">
        <h1>欢迎注册</h1>
        <span>已有帐号?</span> <a href="#">登录</a>
    </div>
    <form id="reg-form" action="#" method="get">

        <table>

            <tr>
                <td>用户名</td>
                <td class="inputs">
                    <input name="username" type="text" id="username">
                    <br>
                    <span id="username_err" class="err_msg" style="display: none">用户名不太受欢迎</span>
                </td>

            </tr>

            <tr>
                <td>密码</td>
                <td class="inputs">
                    <input name="password" type="password" id="password">
                    <br>
                    <span id="password_err" class="err_msg" style="display: none">密码格式有误</span>
                </td>
            </tr>


            <tr>
                <td>手机号</td>
                <td class="inputs"><input name="tel" type="text" id="tel">
                    <br>
                    <span id="tel_err" class="err_msg" style="display: none">手机号格式有误</span>
                </td>
            </tr>

        </table>

        <div class="buttons">
            <input value="注 册" type="submit" id="reg_btn">
        </div>
        <br class="clear">
    </form>

</div>


<script>
    
//第一部分    
    //1. 验证用户名是否符合规则
    //1.1 获取用户名的输入框
    var usernameInput = document.getElementById("username");

    //1.2 绑定onblur事件 失去焦点
    usernameInput.onblur = checkUsername;

    function checkUsername() {
        //1.3 获取用户输入的用户名
        var username = usernameInput.value.trim();

        //1.4 判断用户名是否符合规则:长度 6~12,单词字符组成
        var reg = /^\w{6,12}$/;
        var flag = reg.test(username);

        //var flag = username.length >= 6 && username.length <= 12;
        if (flag) {
            //符合规则
            document.getElementById("username_err").style.display = 'none';
        } else {
            //不合符规则
            document.getElementById("username_err").style.display = '';
        }

        return flag;
    }


    //1. 验证密码是否符合规则
    //1.1 获取密码的输入框
    var passwordInput = document.getElementById("password");

    //1.2 绑定onblur事件 失去焦点
    passwordInput.onblur = checkPassword;

    function checkPassword() {
        //1.3 获取用户输入的密码
        var password = passwordInput.value.trim();

        //1.4 判断密码是否符合规则:长度 6~12
        var reg = /^\w{6,12}$/;
        var flag = reg.test(password);

        //var flag = password.length >= 6 && password.length <= 12;
        if (flag) {
            //符合规则
            document.getElementById("password_err").style.display = 'none';
        } else {
            //不合符规则
            document.getElementById("password_err").style.display = '';
        }

        return flag;
    }


    //1. 验证手机号是否符合规则
    //1.1 获取手机号的输入框
    var telInput = document.getElementById("tel");

    //1.2 绑定onblur事件 失去焦点
    telInput.onblur = checkTel;

    function checkTel() {
        //1.3 获取用户输入的手机号
        var tel = telInput.value.trim();

        //1.4 判断手机号是否符合规则:长度 11,数字组成,第一位是1

        //var flag = tel.length == 11;
        var reg = /^[1]\d{10}$/;
        var flag = reg.test(tel);
        if (flag) {
            //符合规则
            document.getElementById("tel_err").style.display = 'none';
        } else {
            //不合符规则
            document.getElementById("tel_err").style.display = '';
        }

        return flag;
    }

//第二部分
    //1. 获取表单对象
    var regForm = document.getElementById("reg-form");

    //2. 绑定onsubmit 事件
    regForm.onsubmit = function () {
        //挨个判断每一个表单项是否都符合要求,如果有一个不合符,则返回false

        var flag = checkUsername() && checkPassword() && checkTel();

        return flag;
    }

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

九:正则表达式

// 规则:单词字符,6~12
//1,创建正则对象,对正则表达式进行封装
var reg = /^\w{6,12}$/;
var str = "abcccc";

//2,判断 str 字符串是否符合 reg 封装的正则表达式的规则
var flag = reg.test(str);
alert(flag);
  • 8
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java EE 项目的目录结构可以根据具体的需求进行灵活设计,但一般情况下,推荐使用以下的标准目录结构: ``` project ├── src │ ├── main │ │ ├── java │ │ │ └── com │ │ │ └── example │ │ │ ├── controller │ │ │ ├── dao │ │ │ ├── entity │ │ │ ├── service │ │ │ └── util │ │ ├── resources │ │ │ ├── mapper │ │ │ └── db.properties │ │ └── webapp │ │ ├── WEB-INF │ │ │ ├── classes │ │ │ ├── lib │ │ │ └── web.xml │ │ ├── css │ │ ├── js │ │ ├── images │ │ └── index.jsp │ └── test │ ├── java │ └── resources ├── target ├── pom.xml └── README.md ``` 其中,各个目录的作用如下: - `src/main/java`:存放项目的 Java 源代码,按照包名分层,一般包括 `controller`、`dao`、`entity`、`service` 和 `util` 等包; - `src/main/resources`:存放项目的配置文件和资源文件,一般包括数据库连接配置文件 `db.properties`、MyBatis 的 mapper 文件等; - `src/main/webapp`:存放 Web 应用的 Web 资源,包括 JSP 页面、CSS 样式表、JavaScript 脚本等; - `src/test/java`:存放项目的测试代码; - `src/test/resources`:存放测试代码所需要的资源文件; - `target`:存放编译后的 .class 文件、打包后的 .war 文件等; - `pom.xml`:Maven 项目管理工具的配置文件; - `README.md`:项目说明文件。 以上是一种常见的 Java EE 项目目录结构,但并不是唯一的标准。在实际开发中,可以根据项目的具体需求进行合理的调整和修改。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值