javascript新手对命名空间使用会遇到的无法触发的问题

原创 2018年04月17日 13:45:47

以上是参观了一些大神的解释,非常容易理解,要在JavaScript实现命名空间其实非常简单

格式参照第一个就可以了,把一些变量放在里面就可以变成该js文件下的变量

但是对于小白来说要如何使用还是有点疑惑。

因为如果直接把所有代码放到命名空间后会发现,需要调用的函数都调用不了。

(function(){
     function aa() {
        alert("11");
    }
})();

这是一个简单的弹出消息框,我添加鼠标事件后并不能触发

<a href="javascript:void(0)" id="addRoom" onclick="show()"><span>添加考场</span></a>

无论如何点击都无法弹出消息框

在我查找一些资料后发现,其实是我对命名空间没有完全理解。

命名空间其实是你把一些代码设定为一个私有的空间,如果你不提供公共的方法给公共区域的话,无论如何都是无法调用到命名空间的东西的。

所以我只需要在声明一个公共变量接受私有空间的函数,就可以调用的。

var show= (function(){
    return function () {/*返回一个函数*/
        alert("11");
    }
})();

再次点击鼠标,发现可以触发了。

因此私有空间本质上是可以看成为一个函数,在这个命名空间里(函数)你不仅可以单单返回一个函数,你还可以返回一个对象,这个对象可以携带许多的函数和变量,这样就可以真正实现命名空间了,因为公共变量只需要几个就可以。


PHP新手开发必会碰到的问题

我就是新手,所以下面就是我碰到的问题 页面重定向的三种方法 PHP重定向网页方法一: 向页面发送http头信息实现重定向 以下为引用的内容:  php    $GoTo="index....
  • avi9111
  • avi9111
  • 2014-02-07 20:58:21
  • 1470

SEO新手的六大疑问

    有人发邮件给我,询问一些他不懂的SEO术语。我想肯定不只他一个人有疑问,不少朋友也会遇到类似的问题。 1. 什么是 .htaccess?     .htaccess 是上传到你Apache 网...
  • okfei
  • okfei
  • 2008-11-08 16:06:00
  • 220

初学编程的人一般会遇到的几个问题

初学编程的人一般会遇到的几个问题
  • LICHAOZHONG_CSDN
  • LICHAOZHONG_CSDN
  • 2017-05-13 18:03:18
  • 1236

关于mysql数据库常遇到的问题和解决方法

在之前会做关于mysql数据库的
  • u013712592
  • u013712592
  • 2014-06-06 23:52:52
  • 396

ssh整合出现的一些问题总结(spring4+struts2+hibernate4)

1、jar包方面(如果是maven创建就没必要考虑这么多问题啦) 1)spring核心jar+struts核心jar+hibernate核心jar+数据库连接jar(mysql)+c3p0+strut...
  • ZHP_CHANGE
  • ZHP_CHANGE
  • 2016-06-25 19:57:07
  • 368

java初学者常见的问题

本文为那些准Java程序员们准备了一系列广为流传的Java最佳编程实践:1.    优先返回空集合而非null如果程序要返回一个不包含任何值的集合,确保返回的是空集合而不是null。这能节省大量的”i...
  • u011225629
  • u011225629
  • 2016-03-30 09:17:13
  • 2314

mybatis使用过程遇到的一些问题及解决方法

1.传入string单个参数进行判断是 要使用 2.mybatis批量插入 insert into sys_role_resource (id, role_id, resource...
  • u012613903
  • u012613903
  • 2016-10-27 14:12:39
  • 3707

Qt 入门系列-窗口程序综合可能遇到的问题

Qt窗口大综合,实现新建文件,保存 复制 撤销, 剪切,以及超链接等功能,以及可能出现的问题的解决...
  • qq_37059483
  • qq_37059483
  • 2017-09-09 10:02:38
  • 382

一个新手学习python的过程中遇到的一些问题及解决方法

ubuntu12.04中,调用show()函数,没有显示图片。 解决办法:在终端安装一个ImageMagic。 sudo apt-get install imagemagick...
  • lan__xiang
  • lan__xiang
  • 2016-07-02 22:23:27
  • 403
收藏助手
不良信息举报
您举报文章:javascript新手对命名空间使用会遇到的无法触发的问题
举报原因:
原因补充:

(最多只允许输入30个字)