非匿名函数与匿名函数

非匿名函数
function 名字()
{
...
}

例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>非匿名函数</title>
    </head>
    <body>
        <input id="btn1" type="button" value="按钮">
        <script>
            var oBtn=document.getElementById('btn1');
            function abc()
            {
                alert('a');
            }
            oBtn.onclick=abc;
        </script>
    </body>
</html>

匿名函数
oBtn.onclick=function()
{
...
}

例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>匿名函数</title>
    </head>
    <body>
        <input id="btn1" type="button" value="按钮">
        <script>
            var oBtn=document.getElementById('btn1');
            oBtn.onclick=function()
            {
                alert('a');
            }
        </script>
    </body>
</html>

上面非匿名函数与匿名函数例子中的 <input>标签 与 <script>标签 都必须放在<body> 标签中才有效果。
而一般的话<script>标签一般都是放在<head>标签中,那让我们来试试:

注:下面代码是错误示范哦

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>匿名函数</title>
        <script>
            var oBtn=document.getElementById('btn1');
            oBtn.onclick=function()
            {
                alert('a');
            }
        </script>
    </head>
    <body>
        <input id="btn1" type="button" value="按钮">
    </body>
</html>

运行出来会发现Cannot set property 'onclick' of null即无法将属性“onclick”设置为空。因为JS特点是读一行执行一行,当读到

oBtn.onclick=function()
{
    alert('a');
}

时,下面的代码就没加载出来,没加载出来也就找不到<input>标签里的id="btn1",也就是在给不存在的onclick加点击事件,所以就有Cannot set property 'onclick' of null即无法将属性“onclick”设置为空这个错误。
而上面例子中的<script>标签要想放在<head>标签中就需要在<script>标签里加上window.onload(on联想到事件,load是加载的意思),window.onload意思就是当页面加载完成时发生的一个事件,下面试试呗:
非匿名函数:
例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>非匿名函数</title>
        <script>
        window.onload=function abc()
        {
            var oBtn=document.getElementById('btn1');
            function abc()
            {
                alert('a');
            }
            oBtn.onclick=abc;
        }
        </script>
    </head>
    <body>
        <input id="btn1" type="button" value="按钮">
    </body>
</html>

匿名函数也如此:
例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>匿名函数</title>
        <script>
        window.onload=function()
        {
            var oBtn=document.getElementById('btn1');
            oBtn.onclick=function()
            {
                alert('a');
            }
        }
            
        </script>
    </head>
    <body>
        <input id="btn1" type="button" value="按钮">
    </body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,605评论 0 21
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 29,135评论 1 45
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 8,224评论 2 17
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,981评论 0 3
  • 找一个树荫下 乘凉 放羊人最能去感受清爽 他能听出树叶激动的掌声 羊去吃草 他去吃西瓜 铺一张昨日的报纸 望着小羊...
    倩何人换取阅读 242评论 2 1

友情链接更多精彩内容