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();

</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>


理解,对于js运行机理不够清楚,加深理解,多写测试,多总结,多笔记。

 另外关于submit和onsubmit这两个的区别:

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,表单的元素就不会提交。如果该函数返回其他值或什么都没有返回,则表单会被提交。

 

 

 

特别建议阅读此文:


 

 

posted @ 2011-01-22 14:52  .小武.  阅读(472)  评论(0编辑  收藏  举报