学习总结JavaScript

文章目录

  • 1、JavaScript介绍
  • 2、JavaScript和html代码的结合
    • 2.1、通过script 引入外部的 js 文件来执行
    • 2.2、script 标签直接定义 js 代码
  • 3、JavaScript变量
  • 4、关系运算符
  • 5、数组
  • 6、函数
    • 6.1、函数的两种定义方式
      • 6.1.1、使用function关键字
      • 6.1.2、函数的第二种方式
    • 6.2、函数的arguments隐形参数
  • 7、js中的事件
    • 7.1、onload加载事件
    • 7.2、onclick 单击事件
    • 7.3、onblur失去焦点事件(每次点击都会加一次)
    • 7.4、onchange事件
    • 7.5、onsubmit 表单提交事件
  • 8、document对象
    • 8.1、Document 对象中的方法介绍
      • 8.1.2、getElementById方法
      • 8.1.3、getElementsByName方法
      • 8.1.4、getElementsByTagName
      • 8.1.5、节点的常用属性和方法

1、JavaScript介绍

  • Javascript 语言诞生主要是完成页面的数据验证。
  • JS 是弱类型,Java 是强类型。

特点

  1. 交互性(信息的动态交互)

  2. 安全性(不允许直接访问本地硬盘)

  3. 跨平台性(只要是可以解释 JS 的浏览器都可以执行,和平台无关)

2、JavaScript和html代码的结合

2.1、通过script 引入外部的 js 文件来执行

src 属性专门用来引入 js 文件路径(可以是相对路径,也可以是绝对路径)

DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Titletitle><script type="text/javascript" src="first.js">script>
head>
<body>
body>
html>

在这里插入图片描述

2.2、script 标签直接定义 js 代码

DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Titletitle><script type="text/javascript">alert("瓦大西哇")script>
head>
<body>
body>
html>

在这里插入图片描述

3、JavaScript变量

JavaScript 的变量类型:

​ 数值类型: number

​ 字符串类型: string

​ 对象类型: object

​ 布尔类型: boolean

​ 函数类型: function

JavaScript的特殊值

​ undefined 未定义

​ null 空值

​ NaN 非数字,非数值

JavaScript定义变量名格式

​ var 变量名;

​ var 变量名 = 值;

4、关系运算符

	等于:==   比较字面值全等于:=== 比较字面值和两个变量的数据类型
DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Titletitle><script type="text/javascript">var a="1";var b=1;alert(a == b);alert(a===b);script>
head>
<body>
body>
html>

在这里插入图片描述

5、数组

JavaScript中数组的定义。

​ var 数组名 = [] ; //空数组

​ var 数组名 = [1,‘ABC’,false] ; //定义数组并赋值

DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Titletitle><script type="text/javascript">var arr1=[];// alert(arr1.length)  //0arr1[0]=10;// alert(arr1.length) //1//在js的数组中,只要通过下标赋值,那么最大的下标值,就会自动的给数组做扩容//在这里我们跳过了arr[1],那么arr[1]的值就是未定义,也就是undefinedarr1[2]="德玛西亚";// alert(arr1.length)// alert(arr1[1]) //undefined//数组的遍历for (var i = 0; i <arr1.length ; i++) {alert(arr1[i]) //10 undefined 德玛西亚}script>
head>
<body>
body>
html>

6、函数

6.1、函数的两种定义方式

6.1.1、使用function关键字

格式:

function 函数名 (参数列表){

函数体

}

DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Titletitle><script type="text/javascript">//定义一个无参函数function fun1(){alert("无参函数被调用了")}// fun1(); //函数要调用才会执行function fun2(a,b){alert("有参函数被调用 a->"+a+",b->"+b)}// fun2(12,"abc")//定义带有返回值的函数function fun3(sum1,sum2){var result=sum1+sum2;return result;}alert(fun3(1,2));script>
head>
<body>
body>
html>

6.1.2、函数的第二种方式

格式

var 函数名 = function(形参列表){

函数体

}

DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Titletitle><script type="text/javascript">var fun1= function (){alert("无参函数")}// fun1();var fun2 = function (a,b){alert("有参函数a="+a+",b="+b);}// fun2(10,20) //有参函数a=10,b=20var fun3 = function (sum1,sum2){return sum1+sum2;}alert(fun3(20,10));script>
head>
<body>
body>
html>

注意:在java中,函数是允许被重载的,但是在js中函数的重载会覆盖掉上一次的定义,也就是说,同名函数不管是有参还是无参,都只会呈现最后一次定义的函数内容。

6.2、函数的arguments隐形参数

在function函数中不需要定义,但是却可以直接获取全部参数的变量,就叫隐形参数

js的隐形参数就想java的可变长参数一样。

DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Titletitle><script type="text/javascript">function fun(a, b, c) {alert(arguments.length);//可查看参数个数alert(arguments[0]);alert(arguments[1]);alert(arguments[2]);alert("a = " + a);for (var i = 0; i < arguments.length; i++) {alert(arguments[i]);}}fun(1,"ad",true);script>
head>
<body>
body>
html>

7、js中的事件

什么是事件?事件就是输入设备与页面进行交互的响应,称为事件

常见的事件有:

​ onload 加载完成事件 页面加载完成之后,常用于做页面 js 代码初始化

​ onclick 单击事件 用于按钮的点击响应

​ onblur 失去焦点事件 用于输入框失去焦点后验证其输入内容是否合法。

​ onchange 内容发生改变事件 用于下拉列表和输入框内

​ onsubmit 表单提交事件 用于表单提交

7.1、onload加载事件

DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Titletitle><script type="text/javascript">//onload事件function onload_func(){alert('静态注册onload事件')}window.onload = function (){alert("动态注册onload事件")}// onload_func()script>
head>

<body>
body>
html>

静态注册:通过 html 标签的事件属性直接赋于事件响应

动态注册:先通过 js 代码得到标签的 dom 对象,然后再通过 dom 对象赋予事件响应

7.2、onclick 单击事件

DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Titletitle><script type="text/javascript">//静态注册function onclick_func(){alert("静态注册onclick");}//动态注册window.onload = function (){var object = document.getElementById("btn");object.onclick=function (){alert("动态注册onclick")}}script>
head>
<body>
<button onclick="onclick_func();">静态注册按钮button>
<button id="btn">动态注册按钮button>
body>
html>

在这里插入图片描述

7.3、onblur失去焦点事件(每次点击都会加一次)

DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Titletitle><script type="text/javascript">//静态注册失去焦点function onblur_func(){//console控制台对象//logconsole.log("静态注册失去焦点");}//动态注册失去焦点window.onload = function (){//获取标签对象var obj = document.getElementById("password");//标签对象.事件名称 = function(){};obj.onblur=function (){console.log("动态注册失去焦点")}}script>
head>
<body>
我爱你<input type="text" onblur="onblur_func();"><br/>
我恨你<input id="password" type="text"><br/>

body>
html>

在这里插入图片描述

7.4、onchange事件

DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Titletitle><script type="text/javascript">function onchange_func(){alert("选择的球类发生改变")}window.onload = function (){//1、获取标签对象var obj = document.getElementById("btn")obj.onchange = function (){alert("选择的乐器发生改变")}}script>
head>
<body>

<select onchange="onchange_func()"><option>球类option><option>篮球option><option>排球option><option>足球option>
select>
<select id="btn"><option>乐器option><option>吉他option><option>口琴option><option>架子鼓option>
select>
body>
html>

7.5、onsubmit 表单提交事件

DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Titletitle><script type="text/javascript">function onsubmit_func(){alert("静态注册表单提交")return false;}<!--return false可以阻止表单提交-->window.onload = function (){//1、获取标签对象var obj = document.getElementById("btn")obj.onsubmit = function (){alert("动态注册表单提交");return false;}}script>
head>
<body>

<form action="http://localhost:8088" method="get" onsubmit="return onsubmit_func()"><input type="submit" value="静态注册">
form>
<form action="http://localhost:8088" id="btn"><input type="submit" value="动态注册">
form>
body>
html>

8、document对象

在这里插入图片描述通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML。

  • JavaScript 能够改变页面中的所有 HTML 元素
  • JavaScript 能够改变页面中的所有 HTML 属性
  • JavaScript 能够改变页面中的所有 CSS 样式
  • JavaScript 能够对页面中的所有事件做出反应

Document 对象的理解:

一:Document 它管理了所有的 HTML 文档内容。

二:document 它是一种树结构的文档。有层级关系

三:它让我们把所有的标签 都 对象化

四:我们可以通过 document 访问所有的标签对象。

什么是对象化?

比如在java中,一个简单的person类

class Person{private int age;private String name;private String sex;
}

那在html中的对象化就是

<body> 
<div id="password">密码div> 
body>

8.1、Document 对象中的方法介绍

document.getElementById(elementId) 通过标签的 id 属性查找标签 dom 对象,elementId 是标签的 id 属性值

document.getElementsByName(elementName) 通过标签的 name 属性查找标签 dom 对象,elementName 标签的 name 属性值

document.getElementsByTagName(tagname) 通过标签名查找标签 dom 对象。tagname 是标签名

document.createElement( tagName) 方法,通过给定的标签名,创建一个标签对象。tagName 是要创建的标签名

比如:

document : 文档

get: 获得

element: 元素

by: 通过

id: id

理解为:通过id获取文档中的元素
在这里插入图片描述

8.1.2、getElementById方法

getElementById是指定id来查找对象

DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Titletitle><script type="text/javascript">function onclick_func(){//获取身份证元素var idcardobj=document.getElementById("idcard");//获取文本框的值var idcardText = idcardobj.value;//正则匹配var patt=/^\d{15}(\d{2}[A-Za-z0-9])?$/;if(patt.test(idcardText)){alert("身份证合法")}else{alert("身份证不合法")}}script>
head>
<body>
身份证:<input type="text" id="idcard" value="sfz"/>
span>
<button onclick="onclick_func()">校验button>
body>
html>

在这里插入图片描述

8.1.3、getElementsByName方法

getElementsByName是指定name属性来查找对象

DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Titletitle><script type="text/javascript">//全选function checkall(){//让所有的复选框都选中var hobbyies = document.getElementsByName("hobby");for (var i = 0; i <hobbyies.length ; i++) {hobbyies[i].checked = true;}}//全不选function nocheck(){//让所有的复选框都不选中var hobbies = document.getElementsByName("hobby");for (var i = 0; i <hobbies.length ; i++) {hobbies[i].checked = false;}}//反选function  checkReverse(){   var hobbies = document.getElementsByName("hobby");for (var i = 0; i <hobbies.length ; i++) {hobbies[i].checked = !hobbies[i].checked;}}script>
head>
<body>
爱好:
<input type="checkbox" name="hobby" value="篮球" checked="checked">篮球
<input type="checkbox" name="hobby" value="足球">足球
<input type="checkbox" name="hobby" value="排球">排球
<br/>
<button onclick="checkall()">全选button>
<button onclick="nocheck()">全不选button>
<button onclick="checkReverse()">反选button>
body>
html>

在这里插入图片描述

8.1.4、getElementsByTagName

document.getElementsByTagName 是按照指定标签名来查找对象

DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Titletitle><script type="text/javascript">//全选function checkall(){//让所有的复选框都选中//document.getElementsByTagName 是按照指定标签名来查找对象var inputs = document.getElementsByTagName("input");for (var i = 0; i <inputs.length ; i++) {inputs[i].checked = true;}}script>
head>
<body>
爱好:
<input type="checkbox" name="hobby" value="篮球" checked="checked">篮球
<input type="checkbox" name="hobby" value="足球">足球
<input type="checkbox" name="hobby" value="排球">排球
<br/>
<button onclick="checkall()">全选button>
body>
html>

8.1.5、节点的常用属性和方法

  • getElementsByTagName() 获取当前节点的指定标签名的子节点

  • appendChild( ChildNode ) 添加一个子节点

childNodes 属性,获取当前节点的所有子节点

firstChild 属性,获取当前节点的第一个子节点

lastChild 属性,获取当前节点的最后一个子节点

parentNode 属性,获取当前节点的父节点

nextSibling 属性,获取当前节点的下一个节点

previousSibling 属性,获取当前节点的上一个节点

className 用于获取或设置标签的 class 属性值

innerHTML 属性,表示获取/设置起始标签和结束标签中的内容

innerText 属性,表示获取/设置起始标签和结束标签中的文本


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部