3.3 JavaWeb-JavaScript

这篇具有很好参考价值的文章主要介绍了3.3 JavaWeb-JavaScript。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

3.3.1 JavaScript

3.3.1.1 JavaScript概述

3.3.1.2 JavaScript用法

3.3.2 基础语法

3.3.2.1 JavaScript 输出

 3.3.2.2 JavaScript 运算符、控制语句、语法

3.3.2.2.1 增强for循环

 3.3.2.3 JavaScript 数据类型

3.3.3 API

3.3.3.1 Math

3.3.3.2 Date

3.3.3.3 Array数组

数组的声明

 数组的创建

数组的赋值 

3.3.3.4 String字符串

3.3.4 函数

3.3.5 BOM对象

3.3.5.1 window

3.3.5.2 location

3.3.5.3 history

3.3.5.4 screen

3.3.6 DOM对象

 3.3.6.1 获取标签

3.3.6.2 标签属性

3.3.6.3 事件

3.3.6.3.1 什么是事件

3.3.6.3.2 什么是事件绑定

3.3.6.3.3 两种事件绑定方式

3.3.6.3.4常见事件

3.3.6.4 节点操作

3.3.6.5 JSON

3.3.6.5.1 什么是JSON

 3.3.6.5.2 JSON语法

 3.3.6.5.3 数组保存JSON

  3.3.6.5.4 JSON格式

  3.3.6.5.5 示例


3.3.1 JavaScript

3.3.1.1 JavaScript概述

JavaScript与Java的关系可谓是,雷锋与雷峰塔——毫无关系。

JavaScript 是 Web 的编程语言,JavaScript是一种面向对象思想的脚本语言,通过JavaScript可以实现用户与静态网页之间的交互,也称为动态网页技术(JavaScript+HTML+CSS)。

  1. HTML 定义了网页的内容
  2. CSS 描述了网页的布局
  3. JavaScript 控制了网页的行为

本系列重点为后端,所以前端内容可参考专业的网站进行学习,本节只涉及局部知识:

JavaScript 对象 | 菜鸟教程

3.3.1.2 JavaScript用法

HTML 中的 Javascript 脚本代码必须位于 <script> 与 </script> 标签之间。

Javascript 脚本代码可被放置在 HTML 页面的 <body> 和 <head> 部分中。

3.3.2 基础语法

3.3.2.1 JavaScript 输出

  • 使用 window.alert() 弹出警告框。
  • 使用 document.write() 方法将内容写到 HTML 文档中。
  • 使用 innerHTML 写入到 HTML 元素。
  • 使用 console.log() 写入到浏览器的控制台。

 3.3.2.2 JavaScript 运算符、控制语句、语法

虽然JavaScript与Java没有血缘关系,但是在语法、命名等规则方面和Java几乎一样,只要按 Java的规则来就不会出错。

运算符、控制语句等和其他的编程语言都接近。

3.3.2.2.1 增强for循环

 <script>
        var arr=['a','b','c'];
        //let 用于声明局部变量
        //for  in  声明变量 存储取出数据的索引
        for(let i in arr){
            console.log(i+":"+arr[i]);
        }

 3.3.2.3 JavaScript 数据类型

JavaScript 弱类型语言,定义的时候只需要关键词var、let、const 。

var:函数作用域,整个函数内都是有效的。在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。

lte:块作用域,比如在for循环内,在其外面是不可被访问的。

let必须先声明,再使用,而var可先使用后声明。

3.3.3 API

3.3.3.1 Math

abs() 求绝对值
ceil() 向上取整
floor() 向下取整
random() 随机数 0~1

3.3.3.2 Date

getFullYear() 获取年份
getMonth() 获取月份
getDate() 获取天
getHours() 获取小时
getMinutes() 获取分钟
getSeconds() 获取秒
getMilliseconds()
  //Date对象
        var date = new Date();
        var year = date.getFullYear();
        var month = date.getMonth() + 1;
        var day = date.getDate();
        var hour = date.getHours();
        var minute = date.getMinutes();
        var seconds = date.getSeconds();
        var millSeconds = date.getMilliseconds();
        //拼接日期
        console.log(date);
        var dateTime = year + "年" + month + "月" + day + "号 " + hour + ":" + minute + ":" + seconds;
        console.log(dateTime);

3.3.3.3 Array数组

js中的数组类似于java中的ArrayLis他,因为js没有指定的数据类型  所以存入数据可以看做是object 可以存储任意类型数据。

数组的声明

数组本质是个对象  所以直接使用var声明

        var 数组名

 数组的创建

与java不同, js数组创建的长度可以自动增长

无参构造方法创建

        数组名=new Array();

        var arr1 = new Array();

数组名=new Array(length);

        创建指定长度的数组  值为empty 注意不是null

        var arr2 = new Array(5);

数组名=[数据,数据,数据....];

        var arr3 = [1, 2, "a", true];

数组的赋值 

通过索引对数组对应位置进行赋值

需要注意的是 指定索引不存在也可以赋值 前面的数据会用empty设置

3.3.3.4 String字符串

new String("x") 构造方法

charAt(x)

取字符串对象指定索引数据

indexOf("x")

第一次出现的索引

lastIndexOf("x")

最后一次出现的索引

substring(x, x)

截取字符串从指定索引开始 到指定索引结束

substr(x, x)

截取字符串从指定索引开始 指定长度

split("x")

分割字符串 按照指定字符x分割为字符串数组

3.3.4 函数

函数:包裹在{}中的代码块,前面使用了关键词 function:

function functionname()
{
    // 执行代码
}

有参
js中所有类型使用var 所以声明方法时只需要定义接收数据的变量名即可
function functionname(a,b)
{
    // 执行代码
    return c;
}

JavaScript 对大小写敏感。关键词 function 必须是小写。

3.3.5 BOM对象

浏览器对象,当前页面浏览器解析后会自动创建代表对应功能的对象,主要包括:

  1. window对象:HTML解析后的页面
  2. location:页面地址栏
  3. history:跳转的历史记录
  4. screen对象:浏览器屏幕

3.3.5.1 window

定时器(延时执行)与计时器的功能(延时重复执行)

3.3.5.2 location

  1. window.location.href: 返回当前页面的 href (URL)
  2. window.location.hostname :返回 web 主机的域名
  3. window.location.pathname :返回当前页面的路径或文件名
  4. window.location.protocol :返回使用的 web 协议(http: 或 https:)

3.3.5.3 history

  1.  back():后退方法
  2. forword():前进方法
  3. go(number):根据number进行前进后退
 javascript:histtory.go(-1);的形式进行返回

3.3.5.4 screen

screen.height

高度

screen.width

宽度

screen.availHeight

可用高度
screen.availWidth 可用宽度

3.3.6 DOM对象

 3.3.6.1 获取标签

document.getElementById() 根据id获取元素
document.getElementsByClassName() 根据class名获取元素
document.getElementsByTagName() 根据标签名获取元素
document.getElementsName() 根据name属性值获取元素

注意浏览器加载执行顺序 如果使用js获取标签,那么首先需要保证js执行时 页面已加载显示对应标签。

3.3.6.2 标签属性

标签对象.属性方式

value()

获取对应标签的value

id()

获取对应标签的id

name()

获取对应标签的name

innerHTML

获取当前标签内的内容  如果有其他标签按照原代码形式获取

innerText

仅获取当前标签中的所有的文本内容

 JS获取修改属性书写步骤

    1.通过document对象对应的方法获取对应的标签对象(如果返回多个从中取出)

    2.通过属性获取标签上的内容与修改标签上的内容(如果是双标签中间的文本使用innerHTML或inneText属性获取)



         //先获取对应的标签对象
        var d1=document.getElementById("d1");
        //获取当前标签内的内容  如果有其他标签按照原代码形式获取
         console.log(d1.innerHTML);
         //仅获取当前标签中的所有的文本内容
         console.log(d1.innerText);


         var i1=  document.getElementById("i1");
         //可以所有属性都可以通过对象.属性获取
          console.log(i1.value);
          console.log(i1.id);
          console.log(i1.name);

          i1.value="已经获取";
          i1.id='新id';
            i1.name='新name';

3.3.6.3 事件

3.3.6.3.1 什么是事件

 事件:标签发生的特殊的状态,例如 点击键盘、按下抬起键盘、鼠标移入、鼠标移出、鼠标移动 、加载完毕。类似于css中选择器的伪元素的概念。

3.3.6.3.2 什么是事件绑定

事件绑定:将对应的事件与对应的标签绑定,当对应的标签发生相应绑定的事件时,会执行相应的代码,实现对应的功能。

事件对象:当相应事件发生时,会根据事件相应属性创建事件对象,在处理事件相应的方法中可以直接使用,获取事件信息在方法中使用event代表当前发生事件对象,其内保存了当前事件的所有信息。

3.3.6.3.3 两种事件绑定方式

方式一

function eventfunction(){

   定义事件

}

///根据标签id获取标签,也可根据标签class或name获取对应标签

 var d2= document.getElementById("d2"); /

//把d2标签的发生的事件绑定eventfunction函数  格式  : d2.事件=eventfunction;
  d2.οnclick=eventfunction;

//鼠标点击事件绑定eventfunction

方式二

3.3.6.3.4常见事件

事件名 描述
onclick 单击事件
onchange 变化事件
onsubmit 表单提交事件
onload 页面加载事件
<script>
           function eventfunction(){
           // console.log("事件发生")
           // console.log(event)
             //事件对象常用属性
             console.log("事件类型:"+event.type);
        }
         var d2= document.getElementById("d2");
       
        //d2.onclick=eventfunction;//鼠标点击事件
        //d2.onmousedown=eventfunction;//鼠标按下事件
        //d2.onmouseup=eventfunction;//鼠标抬起事件
        //d2.onmouseover=eventfunction;//鼠标移入事件
        //d2.onmouseout=eventfunction;//鼠标移出事件
        d2.onmousemove=eventfunction;//鼠标移动事件

    </script>

3.3.6.4 节点操作

通过js创建对应的标签对象并放入页面显示,经常用于页面的动态生成(页面数据由后台获取)。

<body>
    <button>添加</button> <button>删除</button>
    <table border="1">
        <thead>
            <tr><th>id</th><th>name</th><th>age</th></tr>
        </thead>
        <tbody id="tb"></tbody>
    </table>

</body>
<script>
    //准备数据 相同写死
    //1 zhangsan 18 
    //获取数据添加位置
    var tb=document.getElementById("tb");

    //为按钮添加相应的事件
    document.getElementsByTagName("button")[0].onclick=function(){
       //创建对应的标签对象
        var tr=document.createElement("tr");
        var td1=document.createElement("td");
        var td2=document.createElement("td");
        var td3=document.createElement("td");

        //为对应的单元格赋值
        td1.innerText=prompt("请输入id")
        td2.innerText=prompt("请输入name")
        td3.innerText=prompt("请输入age")

        //将单元格存入行标签中
        tr.appendChild(td1);
        tr.appendChild(td2);
        tr.appendChild(td3);

        //将tr放入表格
        tb.appendChild(tr);

    }
    document.getElementsByTagName("button")[1].onclick=function(){
      //  alert("删除")
      //获取删除的标签
      //删除最后一行
      var trArr=document.getElementsByTagName("tr");

      var index=prompt("请输入删除的行数")
       
      var delTr=trArr[index];
      //调用方法删除
      tb.removeChild(delTr);
    }



</script>

3.3.6.5 JSON

3.3.6.5.1 什么是JSON

JSON:JavaScript Object Notation(JS对象简谱)是一种轻量级的数据交换格式。

JSON属于前端对象,用于保存数据,是前后端数据交互的基石,在前端通过.属性方式获取值,书写语法类似于java中的map集合,[key:value]形式 ,key必须为字符串,value为任意类型数据

 3.3.6.5.2 JSON语法

格式

var 变量名={"key1":value1,"key2":value2,"key3":value3}

{}包裹数据

数据之间用","分割

key必须为字符串,所以用""

 JSON的存值与取值

 <script>
        声明json对象保存学生信息
        var json={'id':1,'name':'张三','age':18};
        获取json对象对应key值的方式
        方式一:将json对象当前一个类的对象,通过.key的形式获取
        console.log(json.name)
        方式二:通过类似于数组索引[key]的形式获取
        console.log(json['name'])
    </script>

方式一:只能固定调用某一个key对应的value。

方式二:可以指定key获取数据,更加灵活。
      

 3.3.6.5.3 数组保存JSON

一个JSON对象只能保存一个对象数据,但是前后台交互可能返回多个对象的数据。将JSON保存到数组里返回给前台,就可以解决这个问题。

 <script>
        var arr=[{'id':1,'name':'张三','age':18},{'id':2,'name':'李四','age':28},{'id':3,'name':'王五','age':38}];
        console.log(arr);
        使用的顺序就是先从数组中取出对应的json数据 之后获取key对应属性
       方式一
        console.log(arr[1].age);
       方式二
        console.log(arr[1]["age"]);
   </script>

  3.3.6.5.4 JSON格式

前面介绍了JSON的格式以及使用方法,在实际的开发中,不同的系统会有不同的JSON格式,JSON里不仅有数据还有其他的提示信息。

 var dataJson={
        'code':200,
        'msg':'信息',
        'data':[{'id':1,'name':'张三','age':18},{'id':2,'name':'李四','age':28},{'id':3,'name':'王五','age':38}]
    };

  3.3.6.5.5 示例

后台处理JSON并返回给前台,在后面的Servlet会讲解。

前台接收JSON并动态生成表格文章来源地址https://www.toymoban.com/news/detail-731489.html

<script>
    //准备json数据  模拟后台返回
    var dataArr=[{'id':1,'name':'张三1','age':18},{'id':2,'name':'李四1','age':28},{'id':3,'name':'王五','age':38}];
    //遍历集合
    for(var i=0;i<dataArr.length;i++){
        var json=dataArr[i];
        //创建行对象
        var tr=document.createElement("tr");
        //创建列对象
        var td1=document.createElement("td");
        var td2=document.createElement("td");
        var td3=document.createElement("td");       
        //为td赋值
        td1.innerHTML=json.id;
        td2.innerHTML=json.name;
        td3.innerHTML=json.age;
        //将td存入tr
        tr.appendChild(td1);
        tr.appendChild(td2);
        tr.appendChild(td3);
        //将tr存入tbody
        document.getElementById("tb").appendChild(tr);
    }

</script>

上一篇:
下一篇:

到了这里,关于3.3 JavaWeb-JavaScript的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JavaScript——基础知识及使用

    JavaScript (简称 JS) 是世界上最流行的编程语言之一. 一个脚本语言, 通过解释器运行. 主要在客户端(浏览器)上运行, 现在也可以基于 node.js 在服务器端运行. JavaScript 的能做的事情: 网页开发(更复杂的特效和用户交互) 网页游戏开发 服务器开发(node.js) 桌面程序开发(Electron, VSCod

    2024年02月16日
    浏览(30)
  • JavaScript基础知识09——数据类型

    哈喽,大家好啊,这里是雷工笔记,我是雷工。 数据类型比较常见,无论是对程序员,还是电气工程师来说,都再熟悉不过了,这里跟着教程了解一下,主要看跟自己以往在其他PLC,C#,组态软件中应用的有啥不同。 在计算机的世界就像黑客帝国中的超级计算机,其中的人、

    2024年02月09日
    浏览(47)
  • 逸学Docker【java工程师基础】3.3Docker安装nacos

    docker pull nacos/nacos-server docker network create nacos_network #创建容器网络  docker run -d   --name nacos   --privileged     --cgroupns host   --env JVM_XMX=256m  --env MODE=standalone   --env JVM_XMS=256m   -p 8848:8848/tcp   -p 9848:9848/tcp   --restart=always   -w /home/nacos   nacos/nacos-server 云服务器不要

    2024年01月16日
    浏览(27)
  • 【JS笔记】JavaScript语法 《基础+重点》 知识内容,快速上手(四)

    BOM(Browser Object Model): 浏览器对象模型 其实就是操作浏览器的一些能力 我们可以操作哪些内容 获取一些浏览器的相关信息(窗口的大小) 操作浏览器进行页面跳转 获取当前浏览器地址栏的信息 操作浏览器的滚动条 浏览器的信息(浏览器的版本) 让浏览器出现一个弹出

    2024年01月18日
    浏览(39)
  • 【JavaScript】3.3 JavaScript工具和库

    在你的 JavaScript 开发之旅中,会遇到许多工具和库。这些工具和库可以帮助你更有效地编写和管理代码,提高工作效率。在本章节中,我们将探讨一些常见的 JavaScript 工具和库,包括包管理器、构建工具、测试框架和一些流行的库。 包管理器用于管理项目的依赖。它可以帮助

    2024年02月05日
    浏览(29)
  • SAP Fiori开发中的JavaScript基础知识15 - 原型,object,constructor,class,继承

    本文将介绍JavaScript中的核心概念 - 原型,并会介绍基于原型的应用场景object,constructor,class,继承。 本文会将这几个核心概念汇总在一篇博客中,因为这些概念是触类旁通的,希望对你有帮助。 在JavaScript中,几乎所有的东西都是对象,每个对象都有一个 特殊的内部属性

    2024年04月23日
    浏览(66)
  • Dart 3.3 发布:扩展类型、JavaScript Interop 等

    参考链接:https://medium.com/dartlang/dart-3-3-325bf2bf6c13 跟随 Flutter 3.19 发布的还有 Dart 3.3 ,Dart 3.3 主要包含扩展类型增强,性能优化和 native 代码交互推进,例如本次改进的 JavaScript Interop 模型就引入了类型安全,所以这一切都为 WebAssembly 支持铺平了道路。 在《Flutter 2024 路线规划

    2024年02月19日
    浏览(22)
  • Java基础知识篇——Java基本介绍

    Java 是 Sun Microsystems 于 1995 年首次发布的一种 编程语言 和计算平台。编程语言还是比较好理解的,什么是 计算平台 呢? 计算平台是电脑中运行应用程序(软件的环境),包括硬件环境和软件环境。一般系统平台包括一台电脑的硬件体系结构,操作系统、运行时库。 Java 是快

    2024年03月11日
    浏览(33)
  • Java入门基础知识

    JDK是Java工具开发包,包含了JVM(程序运行环境),核心类库(直接应用即可),开发工具(Javac,java,jdb,jhat…) JRE是Java运行环境,包含了JVM,核心类库,运行工具 JDK包含了JRE,JRE包含了jvm 全部小写(有特定含义的英文字符) class 表示一个类 整数类型 小数类型 字符串类型 :只用\\\"双引

    2024年02月09日
    浏览(53)
  • java基础知识梳理

    虽然已经在实际工作中与java打交道5年之多,但是一直没系统地对java这门语言进行梳理和总结,掌握的知识也比较零散。恰好利用这段时间重新认识下java,并对一些常见的语法和知识点做个总结与回顾,一方面为了加深印象,方便后面查阅,一方面为了学好java打下基础。拉

    2024年02月04日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包