- 概述
- JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言
- 作用:给页面添加动态效果,校验用户信息等.
- 入门案例
- js和html的整合
- 方式1:内联式
"通过<script></script>标签实现,在标签体中编写js代码即可"
- 方式2:外联式
"编写外部的js文件,通过srcipt标签的src属性引入即可"
- 注意事项:
" script标签可以放在页面的任何位置,一般放在head中
一个页面可以有多个srcipt标签
script标签一旦使用了src属性,它的标签体就会失效"
- 组成部分
- ECMAScript:核心语法
- 变量声明
- 格式: var 变量名称 = 初始化赋值;
- 注意事项:
- var可以省略,但是不建议省略
- 末尾的分号也可以省略,但是不建议
- 数据类型
- 原始类型(5种)
- Undefined:undefined
- Null:null
- Number:一切数字
- String:一切被引号引起来的字符串
- Boolean: true 或 false
- 运算符typeof
"用来判断给定值的数据的所属类型 例如: typeof age;"
- 引用类型:javaScript第二天内容
- 运算符
- 等性运算符
- == !=
"判断数值"
- === !==
"判断数值和类型"
- 关系运算符
- > < >= <=
- 逻辑运算符
- && || !
- 非空对象 非0数字 非空字符串 都为true 其他为false
- 语句
"几乎和java一样"
- if ... else ...
- for(){}方式
- 函数
"用来完成指定操作的代码片段,在java中叫方法,在js中叫函数"
- 方式1: 普通函数
" function 函数名称(参数列表){
...
}"
- 方式2(匿名函数):
"var 函数名称 = function(参数列表){
...
}"
- 函数返回值:在函数中直接使用return返回结果即可
- 注意事项:参数列表中的参数可以不写类型
- 事件
"具体的某件事情"
- 单击事件: onclick
"单击鼠标时触发"
- 表单提交事件: onsubmit
"提交form表单时触发"
- 页面加载成功事件: onload
"当页面加载完毕后触发"
- 事件和事件源的绑定
- 方式1:绑定事件
" 实现方式:通过标签的事件属性
例如:<xxx onclick="函数名(参数列表)"></xxx>"
- 方式2:派发事件
" 实现方式:获取标签对象(元素)
对象.事件名称=function(){}"
- 使用步骤:
- 1.确定事件
- 2.编写函数
- 获取元素
- 处理元素
- BOM(浏览器对象模型):操作浏览器
- window 窗口
- 常用属性
"通过它获取其他的四个对象
eg:window.history == history
注意:使用window的对象或属性时,window可以省略不写"
- 常用方法
- 定时器
- var 定时器id = setInterval() 设置周期执行定时器
- 格式1:setInterval(函数名称,毫秒值);
"周期执行,每隔多少毫秒执行一次指定函数"
- 注意:每个定时器都会返回一个定时器id,定时器id主要用在清除定时器时.
- 格式2:setInterval("函数名称(参数列表)",毫秒值);
- "周期执行,每隔多少毫秒执行一次指定函数 可传递参数"
- clearInterval() 清除周期执行定时器
- 使用方式:clearInterval(定时器id)
"作用:将正在使用的定时器清除"
- setTimeout() 单次执行定时器
- 格式1:setTimeout(函数名称,毫秒值);
"单次执行,多少毫秒后执行指定函数,只执行一次"
- 格式2:setTimeout("函数名称(参数列表)",毫秒值);
"单次执行,多少毫秒后执行指定函数,只执行一次 可传递参数"
- 注意:每个定时器都会返回一个定时器id,定时器id主要用在清除定时器时.
- clearTimeout()
- 使用方式:clearTimeout(定时器id)
- 警告框
- alert();
- 对话框
- prompt();
"可以传入两个参数,第一个为提示信息,第二个为默认值"
- 确认框
- confirm();
"可以传入一个参数,为确认信息"
- 扩展
- 打开 open(url);
- 关闭 colse();
- history 历史
- 常用方法
- forward(); 下一个页面
- back(); 返回上一个页面
- go(Number); ★
- go(number); 向后跳转几个页面
- go(-number); 向前跳转几个页面
- location 连接 ★★
- 常用属性
- href
- location.href; 得到当前页面的路径
- location.href=url; 跳向指定的页面
- navigator 了解
- screen 了解
- DOM(文档对象模型):操作文档 (明天内容)
- 获取一个元素(标签)对象
- var obj = document.getElementById("id值");
"通过id获取一个标签对象"
- 获取对象中的value值
"通过对象的value属性 对象.value;" 回顾:
javaScript:直译式的脚本语言,直接嵌入html使用即可
js和html整合:
方式1:内联式
通过script标签实现,直接在标签体中编写js代码即可
方式2:外联式(首先要编写外部的js文件,后缀名以*.js结尾)
通过script标签的src属性实现
js组成部分:
ECMAScript:核心语法
变量声明
var 变量名称 = 初始化值;
数据类型
原始类型:(5种)
Undefined: undefined var age;
Number:
String:
Null: null
Boolean: typeof 对象;
引用类型:
运算符
等性运算符:
== !=
=== !==
关系运算符:
> < >= <=
逻辑运算符:
&& || ! "abc" || false
"abc" || "123" "abc" && "123"
"abc" && false
语句
if("123"){}
for(){}
函数
方式1:普通函数
function 函数名(){}
方式2:匿名函数
var 函数名 = function (参数,参数){}
调用函数:
函数名(参数,参数);
返回值:
return 返回值;
事件
onclick:单击事件
onsubmit:表单提交事件
onload:页面加载成功事件 事件和事件源绑定
方式1:绑定事件
通过标签的事件属性
<xxx onclick = "func()"></xxx>
方式2:派发事件
a.获取事件源(获取标签对象)
var 对象 = document.getElementById("id");
b.给事件源派发事件
对象.事件名称 = function(){
....
}
BOM:操作浏览器
window:窗口
属性:
通过window获取其他的四个对象即可.使用window的属性或方法的时候window可以省略不写
方法:
定时器:
周期执行:
var interId = setInterval();
setInterval("函数名称()",毫秒值);
setInterval(函数名称,毫秒值);
clearInterval(id);
单次执行:
var timeId = setTimeout(); clearTimeout(id);
警告框:
对话框:
确认框:
打开和关闭:
history:历史
方法:
forward();
back();
go(number);
location:连接 ★★
属性:
href
location.href;
location.href = url;
DOM:操作文档
var 对象 = document.getElementById("id");
对象.属性名称; 获取
对象.属性名称 = 值; 设置
/////////////////////////////////
案例1-完善表单校验
需求分析:
当表单提交的时候,校验表单中的用户名和密码是否符合格式,如果不符合,则在相应的输入框后面填写提示信息且不允许表单提交,
反之可以提交
技术分析:
事件
正则表达式:
DOM对象:
///////////////////////////
DOM:
操作value属性
获取value属性的值:
获取一个标签对象:
var 标签对象 = document.getElementById();
获取value属性的值:
标签对象.value;
设置value属性的值:
获取一个标签对象:
var 标签对象 = document.getElementById();
设置value属性的值
标签对象.value = 值;
操作标签体:
获取标签体内容:
获取一个标签对象:
var 标签对象 = document.getElementById();
获取标签体的内容:
标签对象.innerHTML;
设置标签体内容:
获取一个标签对象:
var 标签对象 = document.getElementById();
设置标签体的内容:
标签对象.innerHTML = "<xxx>值</xxx>";
正则表达式:
1.编写正则表达式
用户名:var zz = /^[a-z0-9_-]{3,16}$/;
密码:var zz = /^[a-z0-9_-]{6,18}$/;
校验为空: /^\s*$/
2.校验
var str = "123";
zz.test(str); Boolean
///////////////////////
步骤分析:
1.确定事件(表单提交事件)
<form onsubmit="retrun checkForm()"></form>
<form id="formId"></form>
2.编写checkForm函数
function checkForm(){
//0/设置全局开关
var flag = true;
//a.获取用户名和密码输入框对象
var 对象 = document.getElementById("id");
//b.获取用户名和密码的值
var val = 对象.value;
//c.编写正则表达式 //d.校验
if(zz.test(val)){
//校验不通过
给对应的span标签中填写提示信息
flag = false;
}else{
//校验通过
给对应的span标签中填写提示信息
}
//e.返回值
return flag; } 案例2-表格各行换色
需求分析:
当页面加载成功后,给表格的奇数行和偶数行添加不同的背景颜色
技术分析:
事件
DOM:
//////////////////////
步骤分析:
1.确定事件(页面加载成功事件)
onload = function(){ }
2.编写匿名函数
a.获取当前页面所有行对象
var trObjArr = document.getElementsByTagName("tr");
b.遍历数组对象,给计数行和偶数行添加不同的背景颜色
for(var i=0;i<trObjArr.length;i++){
if(i%2==0){
trObjArr[i].style.backgroundColor = "颜色";
}else{
trObjArr[i].style.backgroundColor = "颜色";
}
} 案例3-复选框全选和全不选
需求分析:
当点击头部的复选框的时候,要使其他复选框的状态和头部的保持一致.
技术分析:
单击事件
DOM
操作元素的checked属性
/////////////////////////////
步骤分析:
1.确定事件(单击事件)
给头部的复选框添加单击事件
2.编写函数
a.获取头部复选框状态
对象.checked;
b.获取其他的复选框对象
c.遍历其他的复选框对象数组,分别给每一个复选框对象设置checked属性
案例4-省市二级联动
需求分析:
当省份的下拉选改变的时候,根据选中的省份查询其所对应的市,将所对应的市,展示到市的下拉选中.
技术分析:
改变事件
数组
Dom操作
/////////////////////
步骤分析:
1.确定事件(改变事件)
给省份的下拉选添加改变事件
2.编写changePro函数
function changePro(){
a.获取选中省份所对应的市数组(value)
var cityArr = arr[value];
b.获取市的下拉选对象
var cityObj = document.getElementById("cityId"); c.遍历市数组,将每一个市拼成option追加到市的下拉选中
cityObj.innerHTML += ""; }

javaWeb核心技术第三篇之JavaScript第一篇的更多相关文章

  1. javaWeb核心技术第四篇之Javascript第二篇事件和正则表达式

    - 事件 - 表单提交(掌握) "onsubmit" - 单击事件(掌握) "onclick" - 页面加载成功事件(掌握) "onload" ...

  2. java核心技术第三篇之JDBC第一篇

    01.JDBC_两个重要的概念: 1).什么是数据库驱动程序:由数据库厂商提供,面向某种特定的编程语言所开发的一套访问本数据库的类库. 驱动包一般由两种语言组成,前端是:面向某种特定编程语言的语言:后 ...

  3. javaScript第一篇

    什么中DOM: DOM是一套对文档内容进行抽象各概念化的方法; 例如:我们对别人说:“猫在沙发上!”:别人听到的不会是“狗已经跑了”:这是因为人类对已有的事物有了一套公有的认识;再比如,有人问你,“左 ...

  4. javascript第一篇----使用简介

    使用技巧 Javascript加入网页有两种方法:直接方式和引用方式. 直接方式 直接调用分为两种形式:代码块和代码行 代码行引用: <a href="javascript:alert ...

  5. web前端篇:JavaScript基础篇(易懂小白上手快)-2

    目录 一.内容回顾: ECMAScript基础语法 1.基本数据类型和引用数据类型 2.条件判断和循环 3.赋值运算符,逻辑运算符 4.字符串的常用方法 5.数组的常用方法 6.对象 7.函数 8.日 ...

  6. web前端篇:JavaScript基础篇(易懂小白上手快)-1

    目录 详细内容: 0.JavaScript的引入 1.第一个JavaScript 2.变量 3.变量的类型 4.数组 5.条件语句 6.三元运算符 7.循环 8.函数 9.对象(object): 10 ...

  7. 第一篇:Win10系统搭建Python+Django+Nginx+MySQL 开发环境详解(完美版)

    Win10+Python+Django+Nginx+MySQL 开发环境搭建详解 PaulTsao 说明:本文由作者原创,仅供内部参考学习与交流,转载引用请注明出处,用于商业目的请联系作者本人. Wi ...

  8. [转帖]虚拟内存探究 -- 第一篇:C strings & /proc

    虚拟内存探究 -- 第一篇:C strings & /proc http://blog.coderhuo.tech/2017/10/12/Virtual_Memory_C_strings_pr ...

  9. phpcms v9 wap手机门户站点内容页添加上一篇、下一篇的方法

    PHP源码修改:打开 phpcms\modules\wap\index.php 文件找到if(!$r || $r['status'] != 99) showmessage(L('info_does_n ...

随机推荐

  1. 通过 Drone Rest API 获取构建记录日志

    Drone是一款CICD工具,提供rest API,简单介绍下如何使用API 获取构建日志. 获取token 登录进入drone,点头像,在菜单里选择token 复制token即可 API 介绍 Dr ...

  2. 一起学Vue之模板语法

    概述 Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTM ...

  3. 去除TextView设置lineSpacingExtra后,最后一行多出的空白

    转载请标明出处:https://www.cnblogs.com/tangZH/p/11985745.html 有些手机中,给TextView设置lineSpacingExtra后会出现最后一行的文字也 ...

  4. Android 程序分析环境搭建-开发环境搭建

    1.1  JDK 安装 JDK 的配置,初学java 开发,那是必须会的. 下载,遇到的问题就是要注册oracle 的账号,还有你要下载特定版本,比如jdk 1.7,jdk 1.6,很难找到在哪里.解 ...

  5. CentOS 7 离线环境安装nginx时报错:./configure: error: C compiler cc is not found

    先说解决方法: 在nginx目录下,查看objs/autoconf.err文件,该文件记录了具体的错误信息 vi objs/autoconf.err 一般就是缺少一些文件,因为我的gcc.g++也是离 ...

  6. 《Netty Zookeeper Redis 高并发实战》 图书简介

    <Netty Zookeeper Redis 高并发实战> 图书简介 本书为 高并发社群 -- 疯狂创客圈 倾力编著, 高度剖析底层原理,深度解读面试难题 疯狂创客圈 Java 高并发[ ...

  7. IO - 同步 异步 阻塞 非阻塞的区别,学习Swoole有帮助

    同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?本文较长需耐心阅读,基础 ...

  8. JavaScript工具库

    jPublic 交流QQ群:1017567122 前言 在我们开发项目的时候,无论项目规模大小,在所难免会写一些工具型函数来解决一些问题,随着项目开发和维护的时间越来越长,这些工具型函数会越来越多,同 ...

  9. C#中的时间戳

    来源:https://blog.guoqianfan.com/2019/11/24/timestamp-in-csharp/ 什么是时间戳 时间戳默认是Unix时间戳. 首先要清楚JavaScript ...

  10. 教你用python假装黑客装逼,当着朋友的面破解他的网站密码!

    如何破解iphone登陆密码 今天看了一篇关于如何破解iphone手机密码的文章,瞬间觉得科学技术不是第一生产力,why? 根据“可靠消息”称,即便美国FBI也无法轻易的对iphone手机进行暴力破解 ...