返回顶部
首页 > 资讯 > 前端开发 > html >javascript中大括号怎么使用
  • 754
分享到

javascript中大括号怎么使用

2024-04-02 19:04:59 754人浏览 独家记忆
摘要

这篇文章主要介绍“javascript中大括号怎么使用”,在日常操作中,相信很多人在javascript中大括号怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java

这篇文章主要介绍“javascript中大括号怎么使用”,在日常操作中,相信很多人在javascript中大括号怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”javascript中大括号怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

JavaScript中大括号的用法:1、用于组织复合语句;2、用于定义一个对象,大部分情况下要有成对的属性和值;3、用于声明函数或函数直接量;4、用作结构化异常处理的语法符号。

教程操作环境:windows10系统、javascript1.8.5版、Dell G3电脑。

javascript中大括号的用法是什么

Javascript中大括号"{}"有四种语义作用:

语义1. 组织复合语句,这是最常见的:

if( condition ) {
  //...
}else {
  //...
}
for() {
  //...
}

语义2,对象直接量声明:

var obj = {
    name : 'jack',
    age : 23
};

整个是个赋值语句,其中的{name:'jack',age:23}是个表达式。

语义3,声明函数或函数直接量:

function f1(){
    //...
}
var f2 = function(){
    //...
}

f1与非f2的区别是前者在语法解释期,后者在运行期。区别在于:如果调用该函数的代码在函数定义之后,则没有区别;如果调用该函数的代码在函数定义之前,则f1仍然可以调用,f2则会报错,提示f2未定义。

语义4,结构化异常处理的语法符号:

try {
    //...
}catch( ex ){
    //...
}finally{
    //...
}

这里的大括号与符合语句(语义1 )是有区别的,大括号中如果只有一条语句,在if/else/for等中大括号是可以省略的,但try/catch/finally则不能省略。

以下代码纠结了偶N久:

function(){}() //匿名函数立即执行, 语法分析期报
{}.constructor //获取对象直接量的构造器,语法分析期报错

令人不解的是为何[].constructor这么写却不报错呢,一个是想获取对象直接量的构造器,一个是获取数组直接量的构造器而已。

当然添加个变量接收也不会报错,var c = {}.constructor;

同样的情况如:var fn = function(){}(),也不会报错。

实际上是js的"语句优先"在作怪,即{}被理解成复合语句块(语义1 )而不是对象直接量(语义2 )或声明函数(语义3 )的语义。

function(){}(),大括号被理解成复合语句,自然前面的function()声明函数的语法不完整导致语法分析期出错。{}.constructor,大括号被理解成复合语句,大括号后面是点运算符,点运算符前没有合理的对象自然也报错。

修复方式众所周知:加个强制运算符()

(function(){})(),(function(){});//强制其理解为函数(语义3 ),"函数()"表示执行该函数,即声明后立即执行了。({}).constructor //({})强制把大括号理解成对象直接量(语义2 ),"对象.xx"表示获取对象的成员,自然后面的点运算符可以正常执行了。

function(){}(); 语法错误的原因和 ();函数调用运算符无关。

本质原因是, function(){} ,根据词法分析期对token的有效分组。function被看成这个ExpressionStatement 的start 位置的第一个token元素。这是EMCA262所不允许的。不允许的原因很明确,就是怕引起函数表达式和函数声明的歧义。你可以理解为 function 关键字永远不能在一个ExpressionStaement的首位。

来看看赋值语句f = function(){};

f : LeftHandSideExpression
= : AssignmentOperator

function(){};此时被看做是整个语句的赋值表达式部分即 AssignmentExpression。 所以他合理合法的通过了语法检查,成为了一个函数表达式.FunctionExpression.

所以这时候,即使你 f = function(){}(); 在语法上也是合法的。

到此,关于“javascript中大括号怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: javascript中大括号怎么使用

本文链接: https://lsjlt.com/news/96284.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • javascript中大括号怎么使用
    这篇文章主要介绍“javascript中大括号怎么使用”,在日常操作中,相信很多人在javascript中大括号怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java...
    99+
    2024-04-02
  • JavaScript大括号“{}”的作用是什么
    这篇文章主要介绍“JavaScript大括号“{}”的作用是什么”,在日常操作中,相信很多人在JavaScript大括号“{}”的作用是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望...
    99+
    2024-04-02
  • Java中双大括号初始化怎么使用
    这篇文章主要讲解了“Java中双大括号初始化怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java中双大括号初始化怎么使用”吧!偶然机会看到一种对象初始的方式:  ...
    99+
    2023-07-02
  • shell中小括号、中括号及大括号的区别是什么
    这篇文章主要讲解了“shell中小括号、中括号及大括号的区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“shell中小括号、中括号及大括号的区别是什么”吧!一、小括号,圆括号()1、...
    99+
    2023-06-25
  • c++中大括号怎么输入
    在 c++ 中输入大括号有两种方法:1. 单反斜杠和问号:{ 和 };2. ascii 码:左括号(alt + 123),右括号(alt + 125)。对于特殊键盘布局,可以使用快捷键:...
    99+
    2024-05-01
    c++
  • c++中大括号有什么用
    c++ 大括号的作用包括:代码块:将语句分组,形成一个整体;作用域:确定变量的有效范围;初始化器列表:初始化数组、结构体和类对象;无名命名空间:隐藏符号,防止冲突;函数、类和宏定义等其他...
    99+
    2024-05-01
    c++ 作用域
  • shell 中小括号、中括号及大括号的区别解析
    目录一、小括号,圆括号()1、单小括号 ()2、双小括号 (( ))二、中括号,方括号[]1、单中括号 []2、双中括号[[ ]]三、大括号、花括号 {}1、常规用法2、几种特殊的替换结构一、小括号,圆括号() 1、单小...
    99+
    2022-06-04
    shell 小括号中括号大括号的区别 shell 小括号中括号大括号
  • 怎么正确保留大括号
    本篇内容主要讲解“怎么正确保留大括号”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么正确保留大括号”吧!自从Python  3.6开始,引入了f表达...
    99+
    2024-04-02
  • C++11中怎么使用大括号包围的值列表赋值
    本篇内容主要讲解“C++11中怎么使用大括号包围的值列表赋值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++11中怎么使用大括号包围的值列表赋值”吧!C++11新特性(2)- 列表初始化除了...
    99+
    2023-06-19
  • shell的双括号怎么使用
    这篇文章主要介绍“shell的双括号怎么使用”,在日常操作中,相信很多人在shell的双括号怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”shell的双括号怎么使用”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-28
  • 怎么使用leetcode20.有效括号
    这篇文章主要介绍“怎么使用leetcode20.有效括号”,在日常操作中,相信很多人在怎么使用leetcode20.有效括号问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用leetcode20.有效括号...
    99+
    2023-06-03
  • Bash中的尖括号怎么用
    这篇文章主要介绍Bash中的尖括号怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!通过使用 <,可以实现“欺骗”的效果,让其它命令认为某个命令的输出是一个文件。例如,在进行备份文件的时候不确定备份...
    99+
    2023-06-16
  • JavaScript的小括号“()”有什么作用
    本篇内容主要讲解“JavaScript的小括号“()”有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript的小括号“()”有什么作用”吧...
    99+
    2024-04-02
  • Java中双大括号初始化的理解与使用
    目录对该方法的理解效率问题总结偶然机会看到一种对象初始的方式: // 新建一个列表,并赋值 "Harry","Tony","Tom" ArrayList<Str...
    99+
    2024-04-02
  • 关于Java双大括号{{}}的具体使用
    初看 cgaolei 翻译的 Java技巧之双括弧初始化 一文,走马观花,只知用法,未细看后面的解释。蔚为惊艳,心里想 Java 竟然有这么神奇的语法而一直未得知。因为在初始化集合时...
    99+
    2024-04-02
  • c++中括号怎么打
    c++ 中共有五种括号字符:小括号用于函数调用、条件语句和控制流结构;方括号用于数组/矢量索引和类型转换;大括号用于代码块;尖括号用于模板声明和函数重载;圆括号用于捕获 lambda 表...
    99+
    2024-04-28
    c++
  • windows中mathtype如何打大括号
    本篇内容主要讲解“windows中mathtype如何打大括号”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“windows中mathtype如何打大括号”吧! ...
    99+
    2022-12-01
    windows mathtype
  • JavaScript的中括号“[]”语义有几种
    本篇内容介绍了“JavaScript的中括号“[]”语义有几种”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2024-04-02
  • Python中括号()[]{}有什么用
    这篇文章将为大家详细讲解有关Python中括号()[]{}有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言:Python主要有三种数据类型:字典、列表、元组。其分别由花括号,中括号,小括号表示。...
    99+
    2023-06-25
  • 如何使用编程中花括号
    本篇内容介绍了“如何使用编程中花括号”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先,以非块状语言为例所...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作