play with js
问题:
设想在页面打开后执行某个js函数,当然可以放在body的onload中,格式如下:
<body onload="bb()">
但对于js的理解,在页面加载前是会执行一遍页面中的js代码的,类推出下面的设想:
在<script></script> 之间的代码会执行的,如下的方式,则会自动执行alert();
<script type="text/javascript">alert(123);</script>
则也如下实行可执行函数:
<script type="text/javascript">
function aa(){
alert("aaaaaa");
}
function bb(){
alert("bbbbbb");
}
aa();
alert("aaaaaa");
}
function bb(){
alert("bbbbbb");
}
aa();
</script>
由此也可以执行aa()函数的,只是执行与加载body之前运行此函数,要早于body中的bb(),执行结果为先弹出aaaaa后弹出bbbbbb。测试相符。
另外通过下面的document.write()的形式也可以出发bb()函数的执行:效果与直接调用bb()相同;
<script type="text/javascript">
document.write('<script type="text/javascript">');
document.write("bb()");
document.write('<\/script>');
</script>
document.write('<script type="text/javascript">');
document.write("bb()");
document.write('<\/script>');
</script>
理解,对于js运行机理不够清楚,加深理解,多写测试,多总结,多笔记。
另外关于submit和onsubmit这两个的区别:
HTML DOM submit() 方法
http://www.w3school.com.cn/htmldom/met_form_submit.asp
语法
HTML DOM submit() 方法
http://www.w3school.com.cn/htmldom/met_form_submit.asp
语法
formObject.submit()
说明
该方法提交表单的方式与用户单击 Submit 按钮一样,但是表单的 onsubmit 事件句柄不会被调用。
HTML DOM onsubmit 事件句柄
http://www.w3school.com.cn/htmldom/prop_form_onsubmit.asp
定义和用法
在提交表单时调用的事件句柄。
语法
form.onsubmit
说明
Form 对象的 onsubmit 属性指定了一个事件句柄函数。当用户单击了表单中的 Submit 按钮而提交一个表单时,就会调用这个事件句柄函数。注意,当调用方法Form.submit() 时,该处理器函数不会被调用。
如果 onsubmit 句柄返回 fasle,表单的元素就不会提交。如果该函数返回其他值或什么都没有返回,则表单会被提交。
特别建议阅读此文: