webAPI04-01模拟DOM结构

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>模拟DOM结构</title>
	</head>
	<body>
		<div id="box"></div>
		
		<p id="pra"></p>
		
		
		
		<script type="text/javascript">
			
			
			//文档树
			//节点
				//元素节点
				//属性节点
				//文本节点
				//注释节点
			var box = document.getElementById('box');
			var pra = document.getElementById('pra');
			
			console.dir(box);
			console.dir(pra);
			
			
			//创建一些具有相同操作属性的对象    构造函数
			
			function Node(options){
				
				
				//方式一:传统的if...else
				
//				if(options.className){
//					this.className = options.className;
//				}else{
//					this.className = '';
//				}
				
				
				//方式二:三元运算符
				
//				this.className = options.className ? options.className : '';
				//三元运算符:A = B ? C : D
				//   A === 为被赋值的变量
				//   B === 为判断条件,默认是布尔类型,如果不是,会自动转换成布尔类型
				//   C === 为当条件(B)为真(true)时,变量所赋的值
				//   D === 为当条件(B)为假(false)时,变量所赋的值
				
				
				//方式三:借助布尔运算中的 或 || 运算
				
				this.className = options.className || '';
				this.nodeName = options.nodeName || '';
				this.children = options.children || [];
				
				// 或 || 运算:如果有一边为true,则返回true;两边都为false,则返回false;
				// 当运算符两边为运算数时  C = A || B
				// 当A为true时,直接返回A;
				// 当A为false时,直接返回B
				

				
			}
			
			var hah = new Node({
				className : 'lop'
			});
			
			console.log(hah);
			
			
			
			var html = new Node({
				nodeName:'html'
			});
			
			//创建head节点
			var head = new Node({
				nodeName:'head'
			});
			
			html.children.push('head');
			//创建body节点
			var body = new Node({
				nodeName:'body'
			});
			
			
			html.children.push('body');
			
			
			var div = new Node({
				nodeName:'div'
			});
			
			var p = new Node({
				nodeName:'p'
			});
			
			//设置body的子节点
			body.children.push('div');
			body.children.push('p');
			
			
			
			//在运行的时候,浏览内部维护了一颗DOM树
			//1.深刻理解DOM
			//2.了解节点的相关属性  nodeName nodeType nodeValue
			//3.了解节点的层次的结构
		</script>
	</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值