JavaScript基础笔记

JavaScript语言特点:

1、交互性;2、安全性;3、跨平台性

它是一种弱类型的语言,与Java不同,Java是强类型。

JavaScript和HTML代码的结合方式

1、在head标签或者body标签中,使用script标签来书写JavaScript代码;

<!DOCTYPE html> 
<html lang="en">
<head>       
	<meta charset="UTF-8">          
	<title>Title</title> 
		<script type="text/javascript">              
 		// alert 是 JavaScript 语 言 提 供 的 一 个 警 告 框 函 数         
		 // 它 可 以 接 收 任 意 类 型 的 参 数 , 这 个 参 数 就 是 警 告 框 的 提 示 信 息 
 			alert("hello!")               
		</script>
</head>
<body>               

</body> 
</html>

2、使用script标签引入单独的JavaScript代码文件;

<!DOCTYPE html>   
<html lang="en">    
<head>     
	<meta charset="UTF-8">       
	<title>Title</title> 
	<!--使用 script 引入外部的 js 文件来执行 src 属性专门用来引入 js 文件路径
	--> 
	<script type="text/javascript" src="1.js"></script> 
	<script type="text/javascript"> 
		alert("hello"); 
	</script> 
</head> 
<body> 

</body> 
</html>

变量

变量就是可以存放某些值的内存的命名

JavaScript的变量类型:
数值类型: number
字符串类型: string
对象类型: object
布尔类型: boolean
函数类型: function

JavaScript里特殊的值:
undefined ------------- 未定义,所有的js变量未赋予初始值,默认都是undefined
null ------------- 空值
NaN ------------- 全称是Not a Number 。非数字非数值

JS中的定义变量格式:
var 变量名;
var 变量名=值;

关系(比较)运算

等于: ==
全等于: ===
等于是简单的字面值的比较;全等于除了做字面值的比较之外,还会比较两个变量的数据类型。

<!DOCTYPE html>   
<html lang="en">     
<head>     
	<meta charset="UTF-8">       
	<title>Title</title> 
	<script type="text/javascript"> 
		var a = "2"; 
		var b = 2; 
		alert( a == b ); // 显示为true 
		alert( a === b ); // 显示为false 
	</script> 
</head> 
<body> 
</body> 
</html>

逻辑运算

且运算: &&
或运算: ||
取反运算: !
在JavaScript语言中,所有的变量,都可以作为一个boolean类型的变量去使用。

0、null、undefined、”“(空串)都认为是false

&& 且运算
第一种:当表达式全为真的时候。返回最后一个表达式的值。
第二种:当表达式中,有一个为假的时候。返回第一个为假的表达式的值

|| 或运算
第一种情况:当表达式全为假时,返回最后一个表达式的值
第二种情况:只要有一个表达式为真。就会把回第一个为真的表达式的值

并且 && 与运算 和 ||或运算 有短路。
短路就是说,当这个&&或||运算有结果了之后 。后面的表达式不再执行

数组

JS数组的定义方式:
var 数组名 = [];//空数组
var 数组名 = [1,‘abc’,true];//定义数组同时赋值元素

<!DOCTYPE html> 
<html lang="en"> 
<head> 
	<meta charset="UTF-8"> 
	<title>Title</title> 
	<script type="text/javascript">       
		var arr = [true,1]; //定 义 一 个 空 数 组 
		arr[0] = 12; 
		alert( arr[0] );//输出为12
		// javaScript语 言 中 的 数 组 , 只 要 我 们 通 过 数 组 下 		标 赋 值 , 那 么 最 大 的 下 标 值 , 就 会 自 动 的 给 数 组 做 扩 容 操 作 。 
 		arr[2] = "abc"; 
		alert(arr.length); //输出为3
		
 	// undefined // 数 组 的 遍 历 
		for (var i = 0; i < arr.length; i++){ 
			alert(arr[i]); 
		} 
	</script> 
</head> 
<body>       
</body> 
</html>

函数

函数的两种定义方式:

1、可以使用function关键字来定义函数
function 函数名(形参列表){
函数体
}

在JavaScript语言中,定义带有返回值的函数,只需要在函数体内直接使用return语句返回即可

2、
var 函数名 = function(形参列表){函数体}

在JS中函数的重载会直接覆盖掉上一次的定义

函数的arguments 隐形参数(只在function函数内)
什么叫做隐形参数:就是在函数中不需要定义,但却可以直接用来或取所有参数的变量,叫做隐形参数。
隐形参数和Java的可变长参数很像,操作类似数组。

JS中的自定义对象

object形式的自定义对象

对象的定义:
var 变量名 = new Object();//对象实例(空对象)
变量名.属性名 = 值; //定义一个属性
变量名.函数名 = function(){} //定义一个函数
对象的访问:
变量名.属性/函数名();

{}形式的自定义对象

对象的定义:
var 变量名 = { //空对象
属性名 : 值, //定义一个属性
属性名 : 值, //定义一个属性
函数名 :function(){} //定义一个函数
};
对象的访问:
变量名.属性/函数名();

JS 中的事件

什么是事件:事件就是电脑输入设备与页面进行交互的相应。

常用的事件:
onload 加载完成事件: 页面加载完之后,常用于做页面JS代码初始化操作
onclick 单击事件: 常用于按钮的点击响应操作
onblur 失去焦点事件: 常用于输入框失去焦点后验证其输入内容是否合法
onchange 内容发生改变事件: 常用于下拉列表和输入框内容发生改变后操作
onsubmit 表单提交事件: 常用于表单提交前,验证表单项是否合法

事件的注册
告诉浏览器,当事件响应后要执行哪些操作,叫事件的注册或事件的绑定。

1、静态注册事件:通过HTML标签的事件属性直接赋于事件响应后的代码,这种方式叫静态注册。

2、动态注册事件:是指通过JS代码得到标签的dom对象,然后再通过dom对象.事件名 = function(){} 这种形式赋于事件响应后的代码,叫动态注册。
动态注册基本步骤:
1、获取标签对象
2、标签对象.事件名 = function(){}

dom模型

dom 全称是Document Object Model 文档对象模型

1、document 它管理了所有的HTML文档内容
2、document 它是一种树结构的文档。有层级关系
3、它让我们把所有的标签都对象化
4、我们可以通过document访问所有的标签对象

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对象的三个查询方法,如果有id属性,优先使用getElementById方法来进行查询,如果没有id属性,则优先使用getElementsByName方法,如果id和name属性都没有,最后再按标签名查getElementsByTagNam
以上三种方法,一定要在页面加载完之后执行,才能查询到标签对象。

节点的常用属性和方法

节点就是标签对象

方法:通过具体的元素节点调用
getElementsByTagName() 方法,获取当前节点的指定标签名孩子节点
appendChild(oChildNode) 方法,可以添加一个子节点,oChildNode 是要添加的孩子节点

属性:
childNodes 属性,获取当前节点的所有子节点
firstChild 属性,获取当前节点的第一个子节点
lastChild 属性,获取当前节点的最后一个子节点
parentNode 属性,获取当前节点的父节点
nextSibling 属性,获取当前节点的下一个节点
previousSibling 属性,获取当前节点的上一个节点
className 用于获取或设置标签的 class 属性值
innerHTML 属性,表示获取/设置起始标签和结束标签中的内容
innerText 属性,表示获取/设置起始标签和结束标签中的文本

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页