Javascript 中的倒置括号

在 Javascript 中,有一个比较常见但容易被忽视的现象——倒置括号。具体而言,就是在调用函数时将括号放在参数列表后面,而不是传统的放在函数名后面。

例如,以下两种写法都是正确的:

------------------ --------
------------------ --------

显然,第二种写法中的分号被误放在了括号后面。这很容易引起混淆和错误,特别是当代码复杂或缩进不当时。

那么为什么会产生这种倒置括号的现象呢?其实这并非是 Javascript 的特殊语法或设计,而是由于一些历史原因所致。

在早期的 Javascript 中,并没有像现在这样的严格语法规则。当时,语言的设计者希望保持与 C 语言相似的语法风格,以便让 C 程序员能够更容易地上手并使用。然而,由于当时的技术水平限制,实现起来并不完美,因此就产生了一些不太符合逻辑的语法规则,比如倒置括号。

尽管现代的 Javascript 已经修正了这些历史遗留问题并具有了更加严格和清晰的语法规则,但倒置括号仍然被保留下来,并且在某些场景下仍然有其实用性。

例如,在函数式编程中,我们经常需要使用一些高阶函数,这些函数接收一个函数作为参数并返回一个新的函数。对于这种情况,倒置括号的写法可以让代码更加简洁和优雅。例如:

----- --- - - -- - -- - - --
----- --- - ------- -- ----- - ---
-------------------- -- -- -

可以看到,这里使用了倒置括号的写法,使得代码更加紧凑和易读。

当然,如果不熟悉这种写法或者代码复杂度较高时,还是建议使用传统的括号放在函数名后面的写法,以避免出现错误和混淆。

综上所述,倒置括号虽然是 Javascript 中的历史遗留问题,但在某些情况下仍具有一定实用性。熟练掌握这种写法可以让代码更加简洁和优雅,但要注意适度使用,避免出现错误和混淆。

示例代码:

-- -------
------------------ --------
------------------ --------

-- ---------
----- --- - - -- - -- - - --
----- --- - -------
--------------------

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/27858


猜你喜欢

  • 将 JavaScript 代码转换为 C 代码

    JavaScript 是一种常见的编程语言,在 Web 开发领域中得到了广泛应用。但是在某些情况下,我们可能需要将 JavaScript 代码转换为 C 代码,例如为了提升执行速度或者将 JavaSc...

    7 年前
  • 在哪里可以找到 JSHint 数值错误代码列表?

    如果您在进行 JavaScript 开发时使用 JSHint,那么您可能已经遇到了一些数值错误代码。这些错误代码可以帮助您找出代码中潜在的问题,从而使代码更加健壮和易于维护。

    7 年前
  • 使用 AngularJS 实现对象的深度合并操作

    在前端开发中,我们有时需要将两个对象进行合并。AngularJS 提供了一个很便捷的方法用于实现对象的深度合并操作,即 angular.merge() 方法。 angular.merge() 方法概述...

    7 年前
  • 在JavaScript中如何存储字节数组

    在JavaScript中,字节数组的存储方式非常重要。如果我们想要在浏览器中处理二进制数据,例如图像或音频文件,那么将其存储为字节数组是很常见的做法。本文将介绍几种不同的方法来存储字节数组,并解释每种...

    7 年前
  • Webpack-dev-server 编译文件但不刷新页面或将编译的 JavaScript 提供给浏览器

    在前端开发中,使用 Webpack 作为打包工具已经成为了常规操作。而其中一个重要的功能是 webpack-dev-server,它可以提供一个本地服务器并实时编译代码,以便我们能够在开发过程中看到更...

    7 年前
  • Vue.js查询参数详解

    在Vue.js应用程序中,可以使用查询参数来传递可选的参数。查询参数是附加在URL末尾的键值对,它们以问号(?)开始,并用&符号分隔。 例如: https://example.com/sear...

    7 年前
  • jQuery: 如何在 keypress 事件中过滤非字符键?

    在前端开发中,经常需要处理用户在输入框中输入的数据。为此,jQuery提供了一些处理用户输入的事件,其中最常用的就是keypress事件。但是有时候需要过滤掉一些非字符键(如方向键、删除键等),以确保...

    7 年前
  • 在 HTML 页面中引入 GitHub 上的 JavaScript 文件

    在前端开发中,我们经常需要引入一些来自于第三方库的 JavaScript 文件。这些文件可以帮助我们快速实现某些特定功能,减少代码量和开发时间。而 GitHub 上则是许多优秀的 JavaScript...

    7 年前
  • 使用jQuery进行简单的屏幕抓取

    屏幕抓取是一个常见的Web开发任务,它可以让你从其他网站上获取信息并将其用于自己的应用程序。在本文中,我们将介绍如何使用jQuery进行简单的屏幕抓取。 什么是屏幕抓取? 屏幕抓取是指从一个Web页面...

    7 年前
  • jQuery Ajax - 如何在错误中获取响应数据

    在前端开发中,Ajax 是一种常用的技术,可以在不刷新页面的情况下与服务器进行交互。jQuery 是一个流行的 JavaScript 库,提供了简化 Ajax 请求的方法。

    7 年前
  • jQuery:unload 还是 beforeunload?

    在前端开发中,有时候我们需要在用户关闭当前页面或者离开该页面之前执行一些操作,比如保存数据、弹出提示框等。这时候就需要用到 unload 和 beforeunload 事件来实现这些功能。

    7 年前
  • 从外部链接改变 HTML 标签的 CSS 样式

    在前端开发中,我们经常需要修改 HTML 元素的样式。通常情况下,我们会将 CSS 样式直接写在 HTML 文件或内部样式表中。但是有时候,我们需要从外部链接(如 CDN 或第三方库)引入 CSS 文...

    7 年前
  • Ajax中的异步操作是什么意思

    在Ajax中,异步(Asynchronous)操作是一种非常重要的概念。当我们使用AJAX发送请求时,我们可以选择同步或异步方式来处理响应。 同步操作 同步操作是一种阻塞式的处理方式,也就是说,在发起...

    7 年前
  • 从CDN获取jQuery?

    在前端开发中,我们经常需要使用jQuery来简化JavaScript代码。许多人选择从CDN(内容分发网络)获取jQuery,因为这样可以提高页面加载速度并减少服务器负载。

    7 年前
  • d3.js Tree Square

    在前端开发中,d3.js 是一个非常流行的数据可视化库。它可以帮助我们创建各种类型的可视化图表,包括树形结构。 在本文中,我们将介绍如何使用 d3.js 创建一个基于方块的树形结构,并提供示例代码和指...

    7 年前
  • 将 HTML5 Canvas 转换为可上传的文件

    HTML5 Canvas 是一个强大的图形制作工具,它可以用来创建各种绘图和动画效果。但是,在某些情况下,您可能需要将 Canvas 中的内容转换为可上传到服务器的文件格式,例如 PNG 或 JPEG...

    7 年前
  • RxJS Observables of vs from

    RxJS是一个用于异步编程的库,它提供了Observables、Operators和Subjects等一系列强大的工具。在RxJS中,of和from操作符都可以用来创建Observables,但它们之...

    7 年前
  • Is there an "after submit" jquery option?

    在前端开发中,我们经常需要对表单进行提交,并在提交后执行一些操作,比如显示一个提示信息或者刷新页面。那么,有没有一种方法可以在表单提交后自动执行这些操作呢?答案是肯定的,jQuery提供了一个"aft...

    7 年前
  • 使用jQuery添加DOM元素的最佳方法

    在前端开发中,动态修改页面内容是非常常见的任务。而使用jQuery库可以方便地操作DOM元素并快速构建交互效果。本文将介绍如何使用jQuery添加DOM元素的最佳方法,包括常用的API和最佳实践。

    7 年前
  • AngularJS: 在控制器中获取元素

    当你使用AngularJS开发前端应用时,你可能会遇到需要在控制器中获取DOM元素的情况。这个问题可以通过使用AngularJS内置的指令来轻松解决。 使用ng-init指令 ng-init指令允许你...

    7 年前

相关推荐

    暂无文章