执行的顺序

来源:15-12 原型和原型链-解答2-写一个贴近实际开发原型链继承的例子

EWL

2018-02-23

<!DOCTYPE html>
<html>
<head>
	<title>01</title>
</head>
<body>

	<div id="hel">hello</div>

	<script type="text/javascript">
		function Elem(id){
			this.elem = document.getElementById(id);
		}
		Elem.prototype.html = function(val){
			var elem = this.elem;
			if(val){
				elem.innerHTML = val;
				return this;
			}else{
				return elem.innerHTML;
			}
		};

		Elem.prototype.on = function(type, fn){
			var ele = this.elem;
			ele.addEventListener(type, fn);
			return this;
		};

		var div1 = new Elem('hel');
		div1.html('click me').on('click', function(){
			alert('u clicked me ');
		}).html('<p>hi clicked</p>');

		
	</script>
</body>
</html>

老师,我想问一下,这个执行顺序应该是先修改div内的innerHTML,然后绑定事件,因为返回了this,所以继续执行,修改div的innerHTML,页面上会直接展示最后一次修改的内容hi clicked,然后点击元素执行事件,这样理解对吗?

写回答

1回答

双越

2018-02-24

对,没问题。

关键是你还得明白,为何页面上“会直接展示最后一次修改的内容hi clicked”?你可以表示一下你的理解,写出来我看看。

0
5
EWL
回复
双越
谢谢老师的回复,我会着重看看这部分的知识点。
2018-02-24
共5条回复

BAT大牛带你横扫初级前端JavaScript面试(第二版)

BAT高级前端工程师亲授,结合真实面试题,提高面试成功几率

4268 学习 · 817 问题

查看课程