Javascript 加括号运行写法 和 addEventListener方法(备忘)

来源:互联网 发布:莽牯朱蛤 知乎 编辑:程序博客网 时间:2024/06/03 15:27

简述:

对javascript的代码的编写还很生疏,逐步学习深入,个人备忘


知识点及代码:

1. JQuery中在函数外部加一个括号就可以让这段函数直接运行了(附带参数出入的代码的写法)


例如:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Test</title></head><body><script type="text/javascript">(function(){document.write("Exec !");}());</script></body></html>

页面输出:


这段代码是带有window参数的匿名内部函数

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Test</title></head><body><script type="text/javascript">(function(_window){document.write(_window.document.location.toString());}(window));</script></body></html>

输出:



2. 使用addEventListener

点击某一处之后,弹出对话框

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Test</title></head><body><p id="para1">click here</p><script type="text/javascript">(function(_document){var para1 = _document.getElementById("para1")var func1 = function(){alert("Good Bye!");}para1.addEventListener("click", func1, true);}(window.document));</script></body></html>



效果:

点击该行之后,出现警告框




如果添加多个事件, 是按照先后顺序依次执行,谁先加,谁就先执行

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Test</title></head><body><p id="para1">click here</p><script type="text/javascript">(function(_document){var para1 = _document.getElementById("para1");var func1 = function(){alert("func1!");};var func2 = function(){alert("func2!");};para1.addEventListener("click", func1, true);para1.addEventListener("click", func2, true);}(window.document));</script></body></html>

执行的话

先func1, 之后func2

Fisrtly,


Secondly,