`
bardo
  • 浏览: 378181 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
D1407912-ab64-3e76-ae37-b31aa4afa398
浅述PHP设计模式
浏览量:11805
9d6df9f7-91da-3787-a37c-0e826525dd5d
Zend Framewor...
浏览量:10111
85b628bd-a2ed-3de2-a4b1-0d34985ae8b6
PHP的IDE(集成开发环...
浏览量:9498
社区版块
存档分类
最新评论

你了解javascript中的()吗?

阅读更多

        你了解javascript中的()吗?

        也许,你会说,这有什么呀,不就是个括号吗?那好,下面代码正确吗?

        (function (a){ alert(a);})(12);

        也许你会说,这种花稍的代码有什么用处?

         我们了解,JS中函数是可以匿名的,但不了解,变量也是可以匿名的。关键是,我们不太在意JS中的括号。
         JS中的括号:
         我们了解:var a={};  //{}是用来定义对象的
         我们了解:var b=[]; //[]是用来定义数组的。{}和[]一起构成了Json
         我们了解()吗?var str = (' abcde ').charAt(3); 
         () 是把括号内的代码存入匿名变量。
         有人说JS是中的变量是函数加数据。这是因为:对象也是以函数构成的。
         了解了这一点,我们再来看看已经熟悉的代码:
         alert(('abcdef').charAt(3));  //匿名字串变量
         alert(({s:'0'}).s) ; //匿名对象变量
         alert(([1,3,5,7,9])[2]); //匿名数组变量
         再看这一行:
         (function s(a){ alert(a);})(12);  //有函数名
         然后再看:
         (function (a){ alert(a);})(12);  //无函数名,匿名函数调用
         由此可见,(代码)后面可以根据代码是函数是对象是数组,分别给"()",".","[]",从而成为 ()() 和 (). 和  ()[]。 

         前述的结果,实际即是自动运行的函数。
         要使函数自动运行,不需要多写调用该函数的代码。而是用()把要运行的函数括起来,后面再加一个()其中可以传入要传入的参数。
         即:(匿名函数的代码)(传入的参数);
         这样,函数的代码就自动运行了。
         可以试一下以下的例子:
         (function(a){ alert(a);})(12);
         要注意的是前面的()中是匿名函数代码(因为,我们没有必要,也不需要给它函数名),后面则是对函数调用的参数。
         自动运行函数,是进行模块隔离的最常用的手段。jQuery代码就是放在自动运行函数中的。

         我们来看看经典的解释:

(function( ) {  // Define an anonymous function.  No name means no global symbol
    // Code goes here
    // Any variables are safely nested within the function,
    // so no global symbols are created.
})( );          // End the function definition and invoke it.

         假如我们在页面中多次调用jQuery, 最好的办法就是用这样的代码:

         (function($){ //这里面,写你的代码!!  })(jQuery);
         最后,给大家一行代码,Hello,JavaScript!代码如下:

         (function (){ window['alert'](({s:'Hello, JavaScript!'})['s']) ; })();

         此行代码的语法结构有5层:

         {s:'Hello, Javascript!'}  //json定义对象

         ({s:'Hello, Javascript!'})['s'] //将json定义的对象作为匿名对象,并用软编码方式访问其名为's'的属性

          window['alert'](({s:'Hello, Javascript!'})['s']) ; //用软编码方式调用window的alert方法,传入刚才访问的属性

         function (){ window['alert'](({s:'Hello, Javascript!'})['s']) ; } //将代码放到匿名函数中。

        (function (){ window['alert'](({s:'Hello, Javascript!'})['s']) ; })(); //实现匿名函数转换成匿名变量,对此匿名变量进行函数调用,使内部代码实现模块隔离。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1
0
分享到:
评论

相关推荐

    JavaScript语言案例.zip

    例如,`JavaScript????\JavaScript????.txt`可能是一个包含基本JavaScript语法的文本文件,其中可能讲解了如何使用`document.getElementById()`或`querySelector()`选择元素,以及如何使用`.innerHTML`属性改变元素...

    JavaScript

    JavaScript是一种广泛应用于网页和网络应用的轻量级编程语言,主要用作客户端脚本语言,可在用户的浏览器上运行,无需服务器支持。以下是基于题目提供的内容所...了解和掌握这些概念对于编写JavaScript代码至关重要。

    JavaScript语言案例介绍.zip

    首先,"JavaScript????\"可能是一个目录,用于存放与JavaScript相关的文件,包括示例代码、文档等。在学习JavaScript时,目录结构通常是用来组织代码和资源的有效方式,有助于保持项目整洁并方便管理。 "JavaScript...

    深入了解JavaScript中的浅拷贝和深拷贝.pdf

    深入了解JavaScript中的浅拷贝和深拷贝

    javascript 中英文资料 汇总

    此压缩包文件包含了多种JavaScript相关的中英文资料,是学习和深入理解JavaScript的好资源。 首先,"DHTML 手册.chm"可能是一个关于Dynamic HTML(动态HTML)的手册。DHTML是HTML、CSS、JavaScript和DOM(文档对象...

    你真的了解JavaScript吗?

    说出它们的值 1、typeof(NaN) 、typeof(Infinity)、typeof(null)、typeof(undefined) 2、NaN == NaN 3、NaN != NaN 4、NaN >= NaN 5、null == undefined 6、null >= undefined 7、null <...

    Simply JavaScript, JavaScript Beginning

    两本书结合,读者可以全面了解JavaScript的基础知识,并掌握实际开发中不可或缺的DOM和AJAX技术。通过深入学习这两本书的内容,无论是网页开发者还是对JavaScript感兴趣的爱好者,都能建立起坚实的JavaScript基础,...

    javascript语言精粹 pdf

    首先,我们要了解JavaScript的基础知识,包括变量、数据类型、操作符和语句。JavaScript支持动态类型,这意味着变量可以存储不同类型的数据,如字符串、数字、布尔值等。了解这些基本数据类型及其用法是学习...

    高性能JavaScript 编程pdf电子书(中英文对译)

    《高性能JavaScript》揭示的技术和策略能帮助你在开发过程中消除性能瓶颈。你将会了解如何提升各方面的性能,包括代码的加载、运行、DOM交互、页面生存周期等。雅虎的前端工程师Nicholas C. Zakas和其他五位...

    arcgis api for javascript 中文帮助文档和demo

    在使用ArcGIS API for JavaScript时,首先要了解地图对象(Map),它是所有地图元素的基础,包含了地图的视图、图层、坐标系统等关键信息。然后,我们可以添加不同的图层类型,如TiledMapServiceLayer用于加载瓦片...

    JavaScript标准参考教程

    数组作为JavaScript中重要的数据结构,其章节详述了数组的定义、length属性、数组的空位处理以及ECMAScript 5中新增的数组方法(如map、forEach等),这些方法极大地增强了数组操作的灵活性和功能性。 函数章节讲解...

    高性能JavaScript编程(中英文)

    《高性能JavaScript》揭示的技术和策略能帮助你在开发过程中消除性能瓶颈。你将会了解如何提升各方面的性能,包括代码的加载、运行、DOM交互、页面生存周期等。雅虎的前端工程师Nicholas C. Zakas和其他五位...

    JavaScript_DOM编程艺术第二版(中文)

    JavaScript DOM编程艺术第二版是一本深入探讨JavaScript与DOM(Document Object ...通过阅读这本书,开发者不仅能学会如何利用JavaScript操纵DOM,还能深入了解JavaScript语言本身,从而在Web开发领域取得更大的成就。

    《JavaScript》课程标准

    JavaScript 是 Web 世界中必不可少的脚本技术,能够为构建实际项目提供高效、稳定的解决方案。本课程标准主要讲述 JavaScript 相关的技术,旨在培养学生具备职业市场所需的职业能力、生涯发展所需的能力和终身学习的...

    JavaScript语言精粹 中文高清PDF

    此外,书中还会涉及函数式编程的概念,这是JavaScript设计模式中的重要一环。函数式编程强调使用纯函数和避免副作用,能提高代码的可读性和可维护性。JavaScript中的闭包和高阶函数是实现这一编程范式的工具,书中有...

    全站开发javascript

    首先,要了解JavaScript的快速入门知识。初学者可以通过Sublime Text或Notepad++这样的文本编辑器开始编写代码。随后,学习JavaScript的基本语法是必要的,它包括数据类型、变量的使用,以及如何声明和调用函数。...

    JavaScript各种使用例子

    这个资源包中的JavaScript例子可能是针对上述各个知识点的实战演示,通过直接复制粘贴到项目中,可以帮助开发者快速理解和应用这些概念。无论你是初学者还是经验丰富的开发者,这些实例都能为你提供宝贵的参考。学习...

    head first Javascript中文版

    在书中,你会了解到JavaScript的基本语法,包括变量、数据类型(如字符串、数字和布尔值)、操作符、流程控制(条件语句和循环)以及函数的使用。这些是所有编程语言的基础,对于理解和编写任何JavaScript代码至关...

Global site tag (gtag.js) - Google Analytics