JS 02笔记

JS 02


HTML DOM对象

HTML Document Object Model ( HTML文档对象模型 )

###通过文档对象 document , 获取元素对象 *****

1.	通过元素的id属性值, 查找一个元素对象
		var 元素对象 = document.getElementById("id值");
2.	通过元素的名称 , 查找一个元素对象数组
		var 元素对象数组 = document.getElementsByTagName("标签名称");
3.	通过元素的class属性值, 查找一个元素对象数组
		var 元素对象数组 = document.getElementsByClassName("class值");
4.	通过元素的name属性值, 查找一个元素对象数组
		var 元素对象数组 = document.getElementsByName("name值");

###如何操作元素的属性 ***

设置属性值:
	元素对象.属性名 = 值;
获取属性值:
	var 属性值 = 元素对象.属性名;

例如:
	元素如下:
		<img id="img1" src="images/1.jpg" width="200px" height="200px">
	JS代码如下:
		var img1 = document.getElementById("img1");
	 	上述查找到的img1对象, 包含了img标签所有的属性, 但是只有src 和 width 以及 height 是有值的.
	
	操作属性代码如下:
		将图片的透明度设置为0.5:
			img1.style = "opacity:0.5";
		修改图片显示为images/2.jpg:
			img1.src = "images/2.jpg";


例如: 
	在用户输入完毕(输入框失去焦点)时 , 获取如下输入框的内容:
	<input id="input1" onblur="x1()">
	<script>
		function x1(){
			var input1 = document.getElementById("input1");
			var val = input1.value;
			alert("输入的内容:"+val);
		}
	</script>

###特殊属性:
1. class属性 : class在JS中是关键字. 因为属性名的命名规则不允许使用关键字, 所以class的属性操作, 需要通过className属性来完成.

2.	标签内容		:	通过innerHTML属性 来操作开始标签 与 结束标签之间的部分.

####class属性修改的案例:


	<style type="text/css">
		body{
			margin: 0px;
		}
		.style1{
			background-color: #aec7d6;
			color:#076d07;
		}
		.style2{
			background-color: #dc8aa0;
			color:#e6e4e4;
		}
		.content{
			padding: 50px;
		}
	</style>
	</head>
	<body>
		<script type="text/javascript">
			function x1(num){
				var content = document.getElementsByClassName("content")[0];
				if(num == 1){
					content.className = "content style1";
				}else{
					content.className = "content style2";
				}
			}
		</script>
		<div class="content style1">
			<div>
				请选择你的性别: 
				男:<input type="radio" name="sex" checked="checked" onclick="x1(1)"> 
				女:<input type="radio" name="sex" onclick="x1(2)">
			</div>
			<h3>xxx小说阅读器</h3>


元素的 创建 / 插入 / 删除 / 清空

-	创建元素:
		var element = document.createElement("标签名");
-	将创建的元素 加入到网页中
		-	通过父元素, 追加子元素
				格式:	父元素.appendChild(创建的元素);
		-	通过父元素向指定位置 , 加入子元素
				格式:	父元素.insertChild(创建的元素, 参考的已存在的子元素);
				//插入到参考子元素的前面 , 如果参考子元素不存在, 则效果为追加.
-	删除元素
		父元素.removeChild(子元素对象);

-	清空元素:
		元素.innerHTML = "";

###window对象

-	打开窗口
		var 窗口对象 = window.open(url,[name],[config],[specs]);
			参数1.	url	:	新窗口加载的内容地址.
			参数2.	name:	窗口的名称, 是窗口的唯一标识, 不能同时打开两个名称相同的窗口.
			参数3.	config:	窗口的配置, 是一个字符串参数.
					格式:
						有多个键值对组成, 键与值之间等号连接, 多个键值对逗号分隔.
						-	width	:	窗口的宽度px
						-	height	:	窗口的高度px
						-	left	:	窗口距离屏幕左边框的距离px
						-	top		:	窗口距离屏幕上边框的距离px

			参数4.	specs:	boolean 类型参数 , 是否允许使用历史记录.
-	关闭指定窗口
		窗口对象.close();

-	关闭当前窗口
		window.close();

定时器 ***

一次性定时器 ****
作用:	指定延迟时间, 执行代码.

格式:
	setTimeout(function(){
		//这个函数, 在指定的延迟时间后, 执行.
	},延迟时间毫秒);
周期性定时器 **
作用:	指定间隔的周期时长, 重复执行某段代码.

-	开启周期性定时器
		var 定时器的序号 = setInterval(function(){
			//这个函数, 每隔周期时间 , 重复执行
		},周期时间毫秒);

-	关闭周期性定时器
		clearInterval(定时器序号);

浏览器地址对象 location ***

属性:
	href	:	用于设置与获取当前浏览器的地址内容.

函数:
	reload()	:	刷新网页
	replace("网址")	:	替换网页.

屏幕对象 screen 了解

用于获取屏幕的宽度 和 高度.

属性:
	-	screen.width	:	屏幕宽度
	-	screen.height	:	屏幕高度
	-	screen.availWidth	:	屏幕宽度
	-	screen.availHeight	:	屏幕高度

控制台对象 console 掌握

-	输出普通日志
		console.log("文本");
-	输出错误日志:
		console.error("文本");
-	输出警告日志:
		console.warn("文本");
-	输出提示日志:
		console.info("文本");
-	输出调试日志:
		console.debug("文本");

JS 事件 *

JS中三大分类:
	1.	状态事件	
	2.	鼠标事件
	3.	键盘事件
事件对象 event
在任何一个事件触发的 代码块中, 都可以操作一个对象, 对象名称叫做event. 

常用属性:
	1.	clientX	:	鼠标事件时, 鼠标所在的x坐标.
	2.	clientY	:	鼠标事件时, 鼠标所在的y坐标
	3.	keyCode	:	键盘事件时, 触发事件的键盘码.
键盘事件
-	onkeydown	:	当键盘按下. (当按下按键不松开时, 会持续的触发键盘按下事件)
-	onkeyup		:	当键盘弹起.

键盘事件使用格式:

	window.onkeydown = function(){
		
	}

面向对象 了解

面向过程 , 面向对象

JS中定义对象的三种方式

JS中创建对象,  不需要提前编写类.
JS中可以先创建一个空对象 (不包含任何的属性和函数)
后续, 再给空对象 , 设置属性和函数.
格式1.
	var 对象名 = new Object();

JS中给对象设置属性值,  如果对象中不存在此属性, 则创建属性并赋值.

案例:
	var person = new Object();
	person.name = "人人";
	person.age = 18;
	person.sex = "男";
	person.length = "180mm";
	person.say = function(){
		alert("我是:"+this.name+" , 我今年"+this.age+"岁了 , 我的性别是: "+this.sex+" , 我的身长是:"+this.length);
	};

	person.say();
格式2.
先创建对象模板, 然后通过new的方式, 来完成对象的创建.

格式:
	创建模板的格式:
		function 模板名称(形式参数列表){
			通过this , 给属性赋值.
		}
	使用模板的格式:
		var 对象名 = new 模板名称(实际参数列表);

案例:
	function Book(id,name,info){
		this.id = id;
		this.name = name;
		this.info = info;
		this.toString = function(){
			console.log("图书编号:"+this.id+" , 图书名称:"+this.name+" , 图书详情:"+this.info);
		};
	}
格式3 , 通过JSON来创建对象*****
JSON:	JavaScript Object Notation	JS对象简谱 , 是一种轻量级的数据交换格式.

格式:
	JSON中包含两大格式: JSON对象 和 JSON数组. 这两种格式可以互相嵌套.
		1.	JSON对象
				一个对象, 由一个大括号表示.
				括号中 描述对象的属性与函数 .  通过键值对来描述对象的属性与函数
				(可以理解为, 大括号中, 包含的是一个个的键值对.)
				格式:
					键与值之间使用冒号连接, 多个键值对之间使用逗号分隔.
					键值对的键 应使用引号引住 (通常Java解析时, 键不适用引号会报错. 而JS能正确解析.)
					键值对的值, 可以是JS中的任意类型的数据

				例如: 描述一个人:
				//var person = {} 相当于  var person = new Object();
				var person = {
					"name":"XXX",
					"age":1,
					"say":function(){
						alert("姓名:"+this.name+" , 年龄: "+this.age);
					}
				};
				person.say();
		2.	JSON数组
			就是JS中的数组.

	案例:

		描述小泽马:
			var p = {
				"name":"XXX",
				"age":8,
				"PY":["XXXX","XXXX","XXX","XXXX",{
							"name":"XXXX",
							"info":"XXXXXXXX"
						}],
				"haha":{
					"name":"XXXXX",
					"length":"10000"
				}
			};
			alert(p.PY[4].info);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值