*/
*/
变量类型不需要提前定义,列入int a=100可以写成a=100,它的变量的类型是由数据值决定的。Js中统一声明的关键字是var,但在idea使用let
变量命名尽可能短
document.getElementById("dv").innerHTML="〉张三〈/b>"
31.
function show(){
document.write("锄禾日当午〈br>");
document.write("汗滴禾下土〈br>");
document.write("谁知盘中餐〈br>");
document.write("粒粒皆辛苦〈br>");
}
上面是实现点击事件的代码, 通过设置点击事件show(),能实现通过点击按钮,跳转到古诗界面,这就是js(Javascript)代码的好处,让静态页面变成动态。
getElement(“标签的id属性值”).value;
赋值操作如下:
getElement(“标签的id属性值”).value=数据值;
文本域是双标签但是也要通过value属性赋值或者取值
通过innerHTML赋值纯文本或者赋值html代码的数据值,取出标签为html代码的值
赋值:getElement(“标签的id属性值”).innerText=数据值
setTimeout();定时器执行一次
setInterval();定时器执行多次
window.setTimeout("参数1 调用的函数名",参数2 多长时间运行一次)
setInterval()可以被停掉,ClearInterval(重复执行定时器的返回变量)
ClearTimeout(停止setTimeOut定时器的返回变量),一般不用
基本类型:
数值 number
字符串 string 可以使用 单引号 或者双引号 建议 双引号
逻辑值类型 boolean
未定义的 undefined 没有给 变量赋值
null
-------------------------------
引用类型 object
-----------------------------
查看数据类型的 关键字或者 方法 typeof(变量名) typeof 变量名
第一单元:
js的变量的数据类型 由他的数据值 决定
统一声明变量的关键字 var 或者 let
运算符:
比较运算符 === 比较的是 数据类型和数据值都要相等 !== 比较的是 数据类型和数据值都要相等
== 比较的数据值 != 比较的数据值
逻辑运算符 赋值运算符 算数运算符 +-*/ ++ --
循环: for 普通 for循环 for in循环 for each 增强for 循环
while() 未知迭代次数
do {} while() 至少执行一次
js包含: bom 浏览器 dom 文档对象 (html,js .......) ecmascript
==============================
JavaScript数组与 内置对象
java 数组 单一的数据类型 强制类型 对象
int[] arr=new int[长度];
int[] arr=new int[]{ };
int[] arr1={};
int[] arr2=new Array();
js 数组 : 弱类型
var arr=[];
var arr1=[1,2,3,"张三",'张思',new Date(),true]; 对的 可以 存放多种数据类型
概念:长度可以改变,通过索引 取值赋值 可以存储不同数据类型的 容器
声明数组的 方法 :
var 变量名= new Array(5); 5 个长度 但是 长度是可以改变的
第二种
var 变量名= []; // 空数组
第三种
var 变量名=[数据值,数据值,数据值.];
查看长度属性 length
方法:
indexOf 查找首次出现的下标位置 lastIndexOf() 查找最后一次出现的下标位置
拼接 concat(数组)
排序 sort() 默认的升序
反转: reverse
==============
for(let i=0;i
// 特点是 所有的下标都可以输出 即使没有数据值 也可以 输出 undefined
}
for(let i:arr){
document.write(arr[i]);输出的仅仅 是 有数据值的下标 没有数据值的不输出
}
截取: slice(起始下标,结束下标) 特点是: 获取的数据值包含起始下标对应的值 和 结束下标-1 对应的数据值
========================
内置对象:数组 Array 字符串 String Boolean Number Regexp 正则表达式 Date Math 对象
function 函数对象
String
声明字符串 常用的是
let str=""; str 基本数据类型 # 常用
let str1= new String("字符串数据值"); str 是 引用数据类型 字符串
// 方法 查找 方法 通过数据值 找到下标 indexOf() lastIndexOf()
// 通过下标 找数据值 charAt()
// 截取 substring(开始下标,结束下标) 含头不含尾 处理身份证号 和 手机号 ######## 必考
substring(开始下标) 月考技能考试 必考
// 转换为 大写toUpperCase() 和 小写的 toLowerCase()
// 拼接 += concat(字符串变量/字符串);
// 查看长度的属性 length
第四单元: window 浏览器窗口对象:
弹框 alert()
确认框 confirm() 返回的类型是 boolean 确定返回的是 true 取消返回的 false
提示输入框 prompt(参数1,参数2) 参数1 提示语 参数2 数据值 点击确定 获取的参数2 的值 取消 返回 null
===================================================
window 窗口对象的 open () 方法 对应 close () 关闭
open("路径名","页面的标题名称","窗口页面大小")
window.open("new.jsp","新窗口","width=300,height=300");
====================================================================
document 文档对象
可以操作html 标签 增删改查
获取标签 标签对象 有四种方式:
getElementById("id属性值") 特点是 获取 一个标签
getElementsByTagName("标签名") 获取 多个 返回的数组 操作 哪一个 需要 迭代 tag 标签 不推荐使用
getElementsByName("name属性名"); 获取 多个 返回的数组 操作 哪一个 需要 迭代
getElementsByClassName("class属性名") 获取 多个 返回的数组 操作 哪一个 需要 迭代
=====================================
获取标签的值:
input 获取值 使用 value 属性
getElementById("标签的id属性值").value;
//赋值
getElementById("标签的id属性值").value=“数据值”;
文本域 是双标签但是: 也要通过 value 属性 赋值或者 取值
=================================
双标签 div span 等
通过 innerHTML 赋值 纯文本 或者赋值 有html 代码的数据值 取出 标签的 html代码的数据值
=====
获取纯文本innerText ;
getElementById("标签的id属性值").innerText;
==================================
赋值 纯文本 innerText="数据值"
getElementById("标签的id属性值"). innerText=“数据值”;
===========================================
获取标签 操作标签 创建标签 createElement Element元素 html 标签
======================================
定时器:
setTimeout("参数1",参数2); 执行一次 参数1 调用的函数 参数2 是 间隔时间 默认的单位 毫秒
setTimeout("show()",1000);// 1000毫秒1秒
setInterval("参数1",参数2); 重复执行 参数1 调用的函数 参数2 是 间隔时间 默认的单位 毫秒
setInterval("show()",1000);
========================
可以被停掉 :
clearInterval(重复执行定时器的返回变量);
clearTimeout(停止setTimeOut定时器的返回变量)
表达式 验证 规则 你写的内容是否符合规则: 返回类型是 boolean 符合 true 不符合 返回的false
验证方法 test() 返回 boolena 类型
正则表达式:元字符 正则表达式自带的符号:有对应意义
[0-9]代表要么是0 、1 、2、3、4、5、6、7、8、9,注意:仅仅出现1 次
[abc]代表要么出现a、b、c
(a|b|c)代表要么出现a、b、c
重点内容的正则表达式:
手机号的正则:regPhone=/\d{11}$/或regPhone=/1[3456789]\d{9}$/
身份证号:regCard=/\d{17}(\d|x|X)$/;
邮箱地址:regEmail=/\w+@\w+\,\w+$/
中文2-6位:regName=/[\u4e00-\u9fa5]{2,6}$/
第一个位置、最后一个、偶数位置、奇数位置、大于某一个下标、小于某一个下标、指定下标获取标签
1.位置选择器
=====================================
$(":input") 匹配所有 input, textarea, select 和 button 元素
console.log($(":input"));
$(":button") 获取的是 匹配所有按钮 input type="button" button 标签
console.log($(":button"))
$("submit") 获取所有的提交按钮 input type="submit" button 标签
console.log($(":submit"))
console.log($(":hidden"))
技能操作获取单选框、复选框技能常用
console.log($(":radio"));
获取所有的复选框
console.log($(":checkbox"));
获取选中的单选框
$(":radio:checked")
获取选中的复选框
$(":checkbox:checked")
获取选中的下拉框
$("select>option:selected")
javaScript 简称 js
=======================
数据类型:基本数据类型 引用数据类型 object
基本数据类型: 数值类型number: 整数 浮点数数
字符串:string(可以使用 单引号或者双引号) let str="张三"; let str1='张三';
boolean:true和false
未定义undefined(没有给变量赋值)
Null:空
查看数据类型的方法或者关键字:typeof(变量名);typeof 变量名
声明变量的关键字var和let(一般用let)
变量的数据类型不需要声明,它的数据类型取决于他的数据值类型,JS是弱类型 ;java 属于强类型,先声明数据类型,再写数据值
运算符:算术运算符++;--
比较运算符===比较的数据类型和数据值;==比较的数据类型和数据值,都要相等,返回的true、false
逻辑运算符&
三目运算符:a==b?"男":"女",if(){}else{}
循环:for i 、for in,普通for 循环,把所有的下标数据值都输出,即使没有数据值,输出的用undefined表示
for in,输出的有值的下标,没有值的下标不会输出
==============================
数组: 长度可以改变,存储不同的数据类型通过下标赋值取值
let 变量名=new Array(长度);
let 变量名=[数据值,数据值,数据值];
====================
indexOf():查找 第一次出现的 位置 下标 下标 0开始
lastIndexOf():查最后一次出现的位置
concat(数组变量):拼接数组,返回一个新的数组
slice(起始位置,结束位置); 截取 特点:含头不含尾巴
==============================
二维数组:每一个元素都是一维数组的数组容器
循环输出有两个循环
======================
String字符串声明两种:let str=new String("数据值");let str1="数据值";
indexOf() lastIndexOf()
concat():拼接 返回一个新的 String
截取:substring(起始位置)默认从起始位置到最后
substring(起始位置,结束位置)包含:起始位置,结束位置-1(下标)
转换为大写:Upper
转换小写的:Lower
======================
Date() 时间对象get方法 年 月 日 时 分 秒,返回的类型是number类型 to 方法:toLocationDateString()
比较时间大小的:getTime() 转换为毫秒值
==========================
Math 对象:random()取值范围0<=X<1,获取个位*10,双位数*100
1-100的公式Math.floor(Math.random*100)+1
四舍五入:round()返回的是整数位
============
Number对象Number(字符串变量)可以把字符串变量转换为 Number 类型
如果不是纯数字转返回的是NaN,not a number
无穷大、无穷小、最大、最小的属性(考察 理论)
变量.toString() 默认地把变量转换为string字符串
toString(2) toString(8) toString(10) toString(16)转换为进制
toFixed()保留整数位,数据不准不建议使用了
==================================
函数function声明
function 函数名(){
代码块;
}
function 函数名(有参){
代码块;
}
function 函数名(有参){
return 代码块;
}
内建函数:alert() 警告框、confirm("你确认要删除数据吗?") 返回的 boolean,点击确定返回的 true;取消返回的 false
propment(参数1,参数2)参数1提示语,参数2数据值,参数可以省略
点击确定返回的参数2的值,取消返回的null
===================================
自定义函数:
=============================
dom操作html增删改查,操作它的数据值
dom全称:document
获取标签(四种)
document.getElementById("id属性值"); 返回一个即使有相同名字的返回一个(第一个)
document.getElementsByName("name属性值") ; 如果返回的数组,需要遍历(for i)
document.getElementsByClassName("class属性值") ; 如果返回的数组,需要遍历(for i)
document.getElementsByTagName("标签名") ;如果返回的数组需要,需要遍历(for i)
创建标签:
let新标签变量名=document.createElement("标签名");
向body 标签追加新的标签,否则创建出的标签不会在浏览器中显示
document.body.appendChild(新标签变量名) ;
===============================
获取标签的数据值
value获取input、textarea、option,使用 value 属性 获取标签的数据值、赋值
document.getElementById("id属性值").value; // 取值
document.getElementById("id属性值").value="新的数据值"; //赋值input、textarea、option
======
innerText取值双标签:div 、span获取出文本进行赋值、取值(纯文本、纯文字)
innerHTML取值/ 赋值双标签:div、span,获取出html标签代码的数据、赋值(纯文本)html标签代码的数据
=================================================
正则表达式:
元字符:
. 任意字符、想要真正的 ‘.’ 用后面的(\.)
\s代表空格
\b以某一个单词为边界符号,单词尽量单独的,例如后面的写法:nice name
\w代表的 [A-z0-9_]
\d代表的 [0-9]
中文的[\u4e00-\u9fa5],验证中文的
正则表达式,开始^和结束$
正则表达式写在// 里/\d/代表包含只要有符合的就可以通过
/\d$/仅仅的验证数字且验证一个验证多个 需要写量词
量词写法如下:
+:{1,}代表至少是 一次
*:{0,}代表任意次
?:{0,1}代表0到 1次
{n}:代表n 次
{n,}:代表至少n次
{n,m}代表n-m次
=========================
jQuery选择器语法分类如下:
基本选择器:
层级选择器
位置选择器
表单域选择器:
表单域属性选择器:
属性选择器:
查找操作
过滤操作:
=====================
循环:each
$("有效选择器").each(function(){
this.value; //this代表当前对象,js对象。jQuery写法:$(this).val();
})
//each全选 全不选 反选
//全选
$("有效选择器").each(function(){
this.checked=true;
})
//全不选
$("有效选择器").each(function(){
this.checked=false;
})
// 反选
$("有效选择器").each(function(){
this.checked=!this.checked;
})
================
attr()代表操作属性
attr("属性名")获取属性名的数据值
attr("属性名","属性值");给属性名赋值
attr({"属性名":"属性值","属性名":"属性值","属性名":"属性值"})
===================================
可以给未来元素设置属性没有造出来,动态生成的
prop("属性名");获取属性名的数据值
prop("属性名","属性值");给属性名赋值
prop({"属性名":"属性值","属性名":"属性值","属性名":"属性值"})
=================================
addClass("class属性值")给标签添加class属性值
addClass("class属性值")
===================
val()对应js的value 属性
html()对应js的innerHTML属性
text()对应js的innerText 属性
jQuery的核心函数是$(),所有的操作都要基于$()
jQuery和$之间的关系,$是jQuery的别名
jQuery在head标签中写代码,必须写就绪函数;在body标签中可以省略就绪函数
就绪函数:
第一种标准的
$(document).ready(function(){
// jQuery代码
})
$().ready(function(){
// jQuery代码
})
//第三种(常用的)
$(function(){
//jQuery代码
})
============================
jQuey选择器获取标签html标签、操作标签
css 选择器:id标签名、class属性名
id选择器
class类选择器
标签名选择器
*选择器
联合选择器(就是把id选择器与class类选择器和标签名选择器进行混合使用)
========================================================
css选择器书写格式:
================================
js对象能否使用jQuey对象的属性和方法吗?不可以。想要用,转换为jQuery对象$(js对象)
jQuery对象能否使用js对象的属性和方法吗?不可以。想要用,转换js 对象
$("有效选择器")[下标];$("有效选择器").get(下标)
==============================================
层级元素选择器如下:
后代元素选择器
$("有效选择器 有效选择器")
子元素选择器
$("有效选择器>有效选择器 ")
紧邻同辈元素选择器
$("有效选择器+有效选择器")
相邻同辈元素选择器
$("有效选择器~有效选择器")
==================================
位置选择器
第一个位置、最后一个、偶数位置、奇数位置、大于某一个下标、小于某一个下标、指定下标获取标签
位置选择器如下:
第一个:$("有效选择器:first");最后一个:$("有效选择器:last")
偶数(下标是偶数)位置: $("有效选择器:even");奇数(下标是奇数)位置 :$("有效选择器:odd")
指定下标获取$("有效选择器:eq(下标)");大于指定下标获取:$("有效选择器:gt(下标)");小于指定下标获取$("有效选择器:lt(下标)")
获取第一个 li标签
console.log($("li:first"));
获取最后一个li标签
console.log($("li:last"));
获取下标偶数位置li标签
console.log($("li:even"));
获取下标奇数位置li标签
console.log($("li:odd"));
指定下标获取标签位置li标签
console.log($("li:eq(0)"));
大于指定下标获取标签位置li标签
console.log( $("li:gt(1)"));
小于指定下标获取标签位置li标签
console.log($("li:lt(3)"));
=====================================
表单域选择器
$(":input") 匹配所有 input, textarea, select和button元素
console.log($(":input"));
$(":button")获取的是匹配所有按钮input type="button"、button 标签
console.log($(":button"))
$("submit")获取所有的提交按钮input type="submit"、button 标签
console.log($(":submit"))
console.log($(":hidden"))
技能操作获取单选框、复选框(技能常用)
console.log($(":radio"));
获取所有的 复选框
console.log($(":checkbox"));
获取选中的单选框
$(":radio:checked")
获取选中的复选框
$(":checkbox:checked")
获取选中的下拉框
$("select>option:selected")
选择器就是找标签:
属性选择器:
$("[属性名]")
属性值选择器:
$("[属性名=属性值]")
复合属性选择器
$("[属性名=属性值][属性名]")
=========================、
dom 操作html 标签,(属性和值(内容)以及他的 css样式)
remove()删除指定的标签对象(包含的内部的元素、页全部删除);mysql : drop 删除标准对象
empty()清空指定标签内部的元素保留当前的标签对象;mysql:delete删除数据内容
========================
循环迭代
jQuery获取的标签是以数组形式返回的
操作某一个标签需要进行迭代,类似于js、for、in 循环的each
$("有效选择器").each(function(){
当前标签对象的关键字是 this,类似for循环中i(下标)
this.value; 获取当前循环标签的数据值this.checked=true:全选、false:全不选、this.checked=!this.checked:反选
})
========================================
查找操作:
$("有效选择器").parent() 获取指定标签的父元素(获取一个)
$("有效选择器").parents() 获取指定标签的父辈(父亲的父亲的父亲元素)元素(获取多个)
$("有效选择器").children() 获取指定标签的子元素(所有的子元素)
$("有效选择器").find("有效选择器") 获取指定标签的后代元素
$("有效选择器").prev() 获取指定标签的前一个同辈元素
$("有效选择器").prevAll() 获取指定标签的前面所有的同辈元素
$("有效选择器").next() 获取指定标签的下一个同辈元素
$("有效选择器").nextAll() 获取指定标签后面的所有的同辈元素
$("有效选择器").siblings() 获取指定标签的所有的同辈(兄弟姐妹)元素
===========================================================
过滤操作
下标可以是正整数,也可以是负整数,负数默认是最后一个开始,一个整数,指示元素的位置,从集合中的最后一个元素开始倒数。
$("有效选择器").eq(下标)
$("有效选择器").first()获取指定标签的第一个
$("有效选择器").last()获取指定标签的最后一个
$("有效选择器").filter("有效选择器")
=======================================
js获取标签内容的方法:
value="数据值" input 单行文本框、textarea多行文本框option有value属性
innerText="纯文本";双标签 div、span标签
innerHTML="内容";内容包含的纯文本内容或html代码内容,双标签div、span 标签
===============
取值:
value; 获取input、textarea、option 标签的值
innerText 获取双标签的纯文本
innerHTML获取双标签的内容(纯文本或者 html代码内容)
===============
jQuery操作标签的内容
html() 括号中没有参数代表取值,有参数可以赋值(赋值纯文本或者html 代码)
text()括号中没有参数代表取值纯文本内容,有参数可以赋值(赋值纯文本内容 )
val()括号中没有参数代表的是取值,有参数可以赋值(仅仅操作input、textarea和option标签
============================================
属性操作attrbute属性
获取属性的值
$("有效选择器").attr("属性名");
给指定的标签赋值
$("有效选择器").attr("属性名","属性值");
赋值多个
$("有效选择器").attr({"属性名":"属性值","属性名":"属性值".})
删除指定属性
$("有效选择器").remove("属性名");
==========================
class给标签添加class 属性值
$("有效选择器").addClass("class属性值");
添加多个class属性值
$("有效选择器").addClass("class属性值 class属性值 ");
移除、删除,从所有匹配的元素中删除全部或者指定的类
$("有效选择器").removeClass() ;
$("有效选择器").removeClass("class属性值");
切换,当有的时候删除,没有时添加
$("有效选择器").toggleClass("class属性值");
判断 标签是否有 class 属性值 返回的 boolean 有 返回的 true 没有实 false
$("有效选择器").hasClass("class属性值");
======================
css()给标签添加css样式
获取该css属性的值
$("有效选择器").css("css属性名")
给属性赋值(css 值)
$("有效选择器").css("css属性名","属性值")
给标签添加多个css属性并赋值
$("有效选择器").css({"css属性名":"属性值","css属性名":"属性值","css属性名":"属性值".})
2024.1.17
1.以前写模糊查询后面的写and 字段名 like ‘% 条件%’
现在写的方式更改了,更成后面的写法:and instr(字段名,条件)
2.异步服务器请求有三层封装方式,但主要学习一、二层封装方式
$.ajax({
Type:””, (双引号内写post或者get,所以这种方式更加自由)
url:””, (双引号内部写服务器地址)
data:{}, (向服务器发送的内容,因为逻辑不好理解,所以一般用jQuery的$(“form”).serialize()方法)
function(msg){
处理msg数据
},(回调方法,msg是经过上方到服务器加工再回来的数据)
“json”(固定写法,表明使用ajax的json)
})
$.post(
“”,
{},
function(msg){
},
“json”
)
$.get(
“”,
{},
function(msg){
},
“json”
)
2024.1.19
1.想要同时处理多条数据,就用class,可不能用id,因为id具有唯一性,只能处理一个
2.如何sql创建的字段有默认值,那么想用默认值用default,不能写null,因为写null,表内就没有值了
2024.1.20
1.异步修改(重点、必考)
同步修改获取用户的请求参数,能用如下方式
request.getParameter(String name);
request.getParameterValues(String name)
在EL中则可使用param和paramValues二者来取得数据
${param.name}
${paramValues.name}
2.readonly=”readonly”设置仅读状态,不可编辑
2024.1.22
$.ajaxSettings.async=false;
2.后端(服务器)想用正则,表达式如下:
jQuery里的表达式\换成\\,获取返回值boolean类型进行判断。
2024.1.24
1.readonly=”readonly”让输入框编程只读