前端 JS基础理论总结(三)

相等运算符
  • 相等运算符用来比较两个值是否相等,如果相等会返回true,否则返回false
  • 使用 == 来做相等运算
    • 当使用==来比较两个值时,如果值的类型不同,则会自动进行类型转换,将其转换为相同的类型,然后再比较
  • 不相等
    • 不相等用来判断两个值是否不相等,如果不相等返回true,否则返回false
    • 使用 != 来做不相等运算
    • 不相等也会对变量进行自动的类型转换,如果转换后相等它也会返回false
  • ===全等
    • 来判断两个值是否全等,它和相等类似,不同的是它不会做自动的类型转换,如果两个值的类型不同,直接返回false
  • !==不全等
    • 用来判断两个值是否不全等,和不等类似,不同的是它不会做自动的类型转换,如果两个值的类型不同,直接返回true
条件运算符
  • 条件运算符也叫三元运算符
    • 语法:条件表达式?语句1:语句2;
  • 执行的流程:
    • 条件运算符在执行时,首先对条件表达式进行求值,如果该值为true,则执行语句1,并返回执行结果
    • 如果该值为false,则执行语句2,并返回执行结果
    • 如果条件的表达式的求值结果是一个非布尔值,会将其转换为布尔值然后在运算
运算符的优先级
  • 运算符
    • 使用,可以分割多个语句,一般可以在声明多个变量时使用
  • 就和数学中一样,在JS中运算符也有优先级,比如:先乘除 后加减
  • 在JS中有一个运算符优先级的表,在表中越靠上优先级越高,优先级越高越优先计算
  • 如果优先级一样,则从左往右计算,但是这个表我们并不需要记忆,如果遇到优先级不清楚,可以使用()来改变优先级
代码块
  • 我们的程序是由一条一条语句构成的,语句是按照自上向下的顺序一条一条执行的
  • 在JS中可以使用{}来为语句进行分组,同一个{}中的语句我们称为是一组语句,它们要么都执行,要么都不执行,一个{}中的语句我们也称为叫一个代码块,在代码块的后边就不用再编写;了
  • JS中的代码块,只具有分组的的作用,没有其他的用途,代码块内容的内容,在外部是完全可见的
JS操作属性
  • DOM是为了操作文档(网页)的API,document是它的一个对象
  • BOM是为了操作浏览器的API,window是它的一个对象,常用BOM对象还有:alert、定时器等
JS换肤
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>js换肤</title>
	<link rel="stylesheet" type="text/css" href="css/1.css" id="link1">

	<script type="text/javascript">
		window.onload = function(){
			var oLink = document.getElementById('link1');
			oLink.href = "css/2.css";

			alert(oLink.id);
		}
	</script>
</head>
<body>
	<div class="box01"></div>
	<div class="box02"></div>
</body>
</html>
JS操作style属性
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>js操作style属性</title>
	<script type="text/javascript">
		window.onload = function() {
			var oDiv = document.getElementById('div1');
			/*style属性中的样式属性,没有"-"号的,写法相同*/
			oDiv.style.color = 'red';
			oDiv.style.background = 'gold';
			/*
			style属性中的样式属性,带"-"号的需要去掉"-"号,写成小驼峰式
				例如:font-size属性要写为fontSize
			*/
			oDiv.style.fontSize = '30px';
		}
	</script>
</head>
<body>
	<div id="div1">这是一个div元素</div>
</body>
</html>
JS操作class
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>js操作class</title>
	<style type="text/css">
		.box01{
			width: 200px;
			height: 200px;
			background-color: gold;
		}
		.box02{
			width: 300px;
			height: 300px;
			background-color: red;
		}
	</style>
	<script type="text/javascript">
		window.onload = function() {
			var oDiv = document.getElementById('div1');
			// 由于class是js中的保留关键字,所以设置class属性时,要写为className
			oDiv.className = 'box02';
		}
	</script>
</head>
<body>
	<div class="box01" id="div1"></div>
</body>
</html>
JS中括号操作属性
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>js中括号操作属性</title>
	<script type="text/javascript">
		window.onload = function(){
			var oDiv = document.getElementById('div1');
			//oDiv.style.color = 'red';//red必须加引号,否则会认为它是一个变量,引起来会认为它是一个值,赋值给=号左边
			var attr = 'color';
			// oDiv.style[attr] = 'red';
			/* 通过[]操作属性可以写变量 */
			oDiv['style'][attr] = 'red';

			/* 通过innerHTML可以读写元素包括的内容 */
			alert(oDiv.innerHTML);//读取标签里面包裹的元素,即“这是一个div元素”

			var oDiv2 = document.getElementById('div2');
			// oDiv2.innerHTML = '这是第二个div元素';//向div标签中插入内容
			oDiv2.innerHTML = "<a href='http://www.baidu.com'>百度网</a>";//向div标签中插入超链接标签

			/*
			document.write和innerHTML的区别
			document.write只能重绘整个页面
			innerHTML可以重绘页面的一部分
			*/
		}
	</script>
</head>
<body>
	<div id="div1">这是一个div元素</div>
	<div id="div2"></div>
</body>
</html>
JS函数
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>js函数</title>
	<script type="text/javascript">
		function aa(){
			alert('hello!');
		}

		/*
		//直接调用
		aa();
		*/
	</script>
</head>
<body>
	<input type="button" name="" value="弹框" onclick="aa()" />
</body>
</html>

####JS可控制换肤

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>js换肤</title>
	<link rel="stylesheet" type="text/css" href="css/1.css" id="link1">

	<script type="text/javascript">
		window.onload = function(){
			/* 提取行间事件 */
			var oBtn01 = document.getElementById('btn01');
			var oBtn02 = document.getElementById('btn02');

			oBtn01.onclick = skin01;//这里不能写skin01(),这样写就马上执行了
			oBtn02.onclick = skin02;
		}
		function skin01(){
			var oLink = document.getElementById('link1');
			oLink.href = "css/1.css";
		}
		function skin02(){
			var oLink = document.getElementById('link1');
			oLink.href = "css/2.css";
		}
	</script>
</head>
<body>
	<!-- 
	行间调用函数
	<input type="button" name="" value="皮肤01" onclick="skin01()" />
	<input type="button" name="" value="皮肤02" onclick="skin02()" /> -->
	<input type="button" name="" value="皮肤01" id="btn01" />
	<input type="button" name="" value="皮肤02" id="btn02" />
	<div class="box01"></div>
	<div class="box02"></div>
</body>
</html>
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值