JS
  1. jQuery简单介绍
    jQuery 是一个高效、精简并且功能丰富的 JavaScript 工具库。它提供的 API 易于使用且兼容众多浏览器,这让诸如 HTML 文档遍历和操作、事件处理、动画和 Ajax 操作更加简单。

  2. 导入jQuery插件。

  3. 在html页面关联jQuery

<script type="text/javascript" src="js/jquery-3.4.js"></script>
JS中的基本操作

JS是一个弱类型语言,我们只需要定义变量,然后给变量赋值,你赋值是什么类型,那么这个变量就是什么类型。
js是面向对象语言。
变量、方法的定义

 //在js中所有变量都用var定义var a = 1;var b = false;var c = ["a","b"];//赋值数组5array.push("sdd");//可以通过push方法往数组里加值//运算符与Java相似//在js中===判断值和类型相等  ==判断值相等for(var i=0; i<10; i++) {//向网页上输出document.write("当前是" + i+"次<br>");}//向控制台上输出console.log("helloworld");//定义方法function foo(a) {console.log(a);}foo(123);

对象的创建

//创建一个user对象
var user = {username: "hhh",pwd:"123",foo:function (a) {alert(a);}
};

在html中单引号和双引号可以互换,但是不能混用;
任何一个JS执行的基础都是html。

JS的常用操作 DOM BOM

操作两个对象 ——>文档流对象 浏览器对象

  • 文档流对象DOM

document最主要是获得当前页面中的任何元素,获得元素后改变元素中内部的内容,改属性或改value或innerText或innerHTML —— document动态填充过程

innerHTML 和innerText
innerHTML把内容按html解析的内容转成字符串输出在页面, innerHTML返回的是标签内的 html内容,包含html标签。
innerText返回的是标签内的文本值,不包含html标签。

示例:

var b = document.getElementById('container');//获取html中id是container的标签b.setAttribute("name","lll");//设置标签的属性b.innerText = "我是DOM";

想给一个前端页面添加或去掉一些内容就是用DOM,如果想要浏览器做一些事,比如监听鼠标事件等就用BOM。

  • 浏览器对象BOM

以on开头的都是BOM对象的回调动作。

window中包含document,可以拿出document,document不能拿出window

简单操作

console.error(window.location.href);//location获得当前浏览器地址,document和window获得的location其实是同一个东西window.location.href = "http://www.baidu.com";//跳转到指定页面window.open("http://www.baidu.com");//打开一个新页面window.resizeTo(100,100);//是通过window.open打开的才能获得完整控制权,resize改变浏览器大小window.location.reload();//刷新当前的页面window.alert("dfgh");//给一个警示框提示一个内容window.confirm("hjk");//一个确认框importClass导入一个脚本window.moveTo(300,400);//把你打开的内容挪过去,一般只有你open打开的页面才行,例如弹窗广告window.onkeydown = function (ev) {//onkeydown键盘事件alert(ev.code);
}

xss攻击:我在我这边上传一个脚本在你浏览器执行,在上传脚本的时候设置一个页面跳转过程,页面跳转通过window.location.href控制,使你的页面跳转到指定页面,这个页面是做好的和你要访问的页面一摸一样的页面,
你一进入这个页面,就会被捕获。

  • 网络请求(在JS中用的最多)

前端向后台发送请求:四种方式
常用前两种

  1. form表单请求
  2. AJAX请求
  3. webSocket
  4. RPC
AJAX请求

AJAX是异步的javascript和XML;

form表单是一个同步的过程,当form表单提交的时候,页面是一定要切换的,同时,页面当中正在执行的某些个动作会立刻停止;

当发送的请求是异步的时候,他不会影响当前界面的跳转过程。
页面可以保留在当前过程,AJAX请求发出去以后,等待后台给一个返回,拿到了返回,才决定是修改当前页面内容还是页面跳转等,如果返回的内容没有说进行页面跳转,就还留在当前页面,就继续干页面当前正在做的事情,它不需要等待这个请求执行完,再去执行其他的过程。

现在AJAX基本不会用原生的请求,而是使用第三方框架将请求发出去。——jQuery插件

$就是将Window和document整合到一起的一个对象,称为jQuery的根对象。

1、AJAX发送请求的方式

 function test() {//AJAX请求$.ajax({//url——访问的地址  url:"/web/login.do",  //type——只有两个值——post,gettype:"post", ;//data——给后台发请求时传的参数data:"username=t&pwd=1234", //成功时的回调   只要请求回的是200就会进入success:function (data) { alert(data)},//失败时的回调   除非后台出错回一个500才会进入,否则进入successerror:function (data) {  }});}

一般来说,get请求会把参数缀到后面,一般带敏感信息就不会使用get请求,而使用post请求。

2、AJAX其他发送请求的方式

这时候一定是按照get请求发送的,不用再加type
$.get({        url:"/web/login.do",   data:"username=t&pwd=1234",          success:function (data) { alert(data)},         error:function (data) {  }});这时候一定是按照post请求发送的,不用再加type$.post({        url:"/web/login.do",           data:"username=t&pwd=1234",          success:function (data) { alert(data)},       error:function (data) {  }});

如果想让一打开就发送AJAX 请求,就直接$.ajax,不用封装在方法里。它就是方便我们操作DOM和BOM的。

3、其他操作

id选择器
var a = $ ('#container');//拿出container的id ( .是class,#是id)
//对单标签的操作a.val("sss");
//val() —— 不传参数时拿的是value值,当传参数时,就改变这个value值,val一般是拿的是input里的,即带value的标签//对双标签的操作
var b =a.text();//拿出其中的文本内容  a.text("dfsd");设置里面的文本
var b = a.html();//拿出其中带标签的内容  a.html(" ");设置里面的html
var b = a.attr("type","text");//当只有一个参数type时拿出它的type;当有两参数时改变它类型,如这条就是将type类型变为text
console.log(b);calss选择器
var a = $('.container')[1];//当里面写class选择器时后面一定要加[],因为id只有一个而class可能有多个
JSON (Javascript object navigator)

导入fastjson.jar包。
json对象里面放的是k-v对,每个k-v对使用逗号隔开

{
key:value,
key : value,
……
}

回复的是这样的 key --value 对
回复的k-v对一般包括下面三个:

  1. status—>int 这个业务执行成功与否
  2. info —>string 执行不成功的话通知一下哪不成功
  3. data—>Object 返回的数据

json对象<--------->字符串

//从字符串解析JSON对象
JSON.parseObject();
//从字符串解析JSON数组JSON.parseArray();
//将JSON对象/数组转化为字符串JSON.toJSONString();
总结前端<——>后端方式

前端往后端发送的方式两种:
1.同步
2.异步
后端往前端发送方式三种:
第一种:直接返回一个数据字符串
第二种:重定向
第三种:转发

初学者——Servlet学习5—Js相关推荐

  1. 可以不学html直接学vue吗,一个只学过HTML,CSS,JS的前端初学者在学习Vue.js之前还需要学习哪些知识?...

    看了大家的回答,感觉很多人都没说到点子上 大概大家对如何有效的掌握一门新的框架也是一头雾水吧 为了给题主解惑,以及各位如此耐心回答问题的朋友提供一个学习思路,所以我决定要抖点干货. 主题就是<如 ...

  2. 转载:一位资深程序员大牛给予Java初学者的学习路线建议

    一位资深程序员大牛给予Java初学者的学习路线建议 java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来 ...

  3. (转)一位资深程序员大牛给予Java初学者的学习路线建议

    一位资深程序员大牛给予Java初学者的学习路线建议 java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来 ...

  4. 一位资深程序员大牛(4-5年经验)给予Java初学者的学习建议

    这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议? 今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要 ...

  5. 6条适用于PHP初学者的学习线路和建议

    2019独角兽企业重金招聘Python工程师标准>>> 适用于PHP初学者的学习线路和建议,本期我们为大家总结出6条建议,废话不多说,我们先来看下PHP初学者的学习线路: (1) 熟 ...

  6. 前端初学者开发学习视频_初学者学习前端开发的实用指南

    前端初学者开发学习视频 by Nikita Rudenko 通过尼基塔·鲁登科(Nikita Rudenko) 初学者学习前端开发的实用指南 (A practical guide to learnin ...

  7. 【全文】狼叔:如何正确的学习Node.js

    说明 2017-12-14 我发了一篇文章<没用过Node.js,就别瞎逼逼>是因为有人在知乎上黑Node.js.那篇文章的反响还是相当不错的,甚至连著名的hax贺老都很认同,下班时读那篇 ...

  8. 狼叔:如何正确的学习Node.js

    1. [知乎Live]狼叔:如何正确的学习Node.js 预览地址 i5ting.github.io/How-to-lear- Live 简介 你好,我是 i5ting ,江湖人称「狼叔」,目前是阿里 ...

  9. 初学者如何学习java编程?有必要参加培训班吗?

    初学Java迷茫,是因为没有找到正确的学习思路.初学者如何学习java编程?有必要参加java培训班吗?本文为大家总结了四条,一定能对刚入门的你有启发. 初学者如何学习java编程? 1.兴趣是学习最 ...

最新文章

  1. Java调用C/C++编写的第三方dll动态链接库(zz)
  2. Java 多线程 之 银行ATM实例
  3. andorid简单计算器java源码_Android之一个简单计算器源代码
  4. 深入解析Java AtomicInteger 原子类型
  5. PHP解决网站大流量与高并发
  6. Git 常用命令记录
  7. CV新赛事:口罩佩戴检测
  8. laravel php环境,Laravel 5框架学习之环境与配置
  9. 【计算机视觉-从入门到精通系列】 第三章 立体匹配
  10. Python:如何发布自己的模块
  11. 二进制 文件 读入_数据挖掘--SPSS?Modeler数据的读入
  12. ExtJS用户带验证码登录页面
  13. C++中常引用的注意事项以及常引用和非常引用之间的转换
  14. Pyinstaller --add-data参数详解
  15. MATLAB矩阵的平均值和最大值
  16. 计算机的剪切快捷键是什么意思,word中剪切的快捷键是什么 -电脑资料
  17. 深大uooc学术道德与学术规范教育第五章
  18. 【Vue知识点- No4.】vue组件、组件通信、Todo案例
  19. 如何将图片识别为可编辑的Word文件
  20. 发json请求,报415错误。POST http://localhost:8080/ 415

热门文章

  1. 国产linux系统下载基地,Steam手机客户端
  2. [转载] 最深的云网融合:多接入边缘计算(MEC)
  3. 「7」线性代数(期末复习)
  4. lan口和wan口的区别
  5. apple id 强制激活_如何在Apple TV上强制退出应用
  6. js-ramda-流相关函数
  7. 2011年5月10日
  8. C#ProgNET4GeoAPI库坐标转换
  9. html5 style设置字体,初识HTML(5)+CSS(3)-2020升级版 - font-style:设置字体样式,3种
  10. LabVIEW编程设置NI6251DAQmx物理通道例程与相关资料