`
stargaga
  • 浏览: 18982 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

js中三元运算符用作流程控制

 
阅读更多
通常状况下js的三元运算符用作判断与返回值、形式如下
var result = (username == 'star') ? 'star' : 'moon';

如果用在流程控制中,试想如下操作:

 /*判断语句*/ ? /*语句一*/ :/*语句二*/;

通常的写法是
 (username == 'star') ? document.write("im star") :document.write ("im moon"); 

ok,再变态一点的
 /*判断语句*/ ? /*语句块一*/ :/*语句块二*/;

如果我们写作:
 (username == 'star') ? document.write("im star");alert(1) :document.write ("im moon"); 

这样是会报错的,首先,那个';'会破坏 ?:语句。
如果写作
 (username == 'star') ? (document.write("im star");alert(1)):document.write ("im moon"); 

是不可以的。

最后我想到了eval
 (username == 'star') ?eval('document.write("im star");alert(1);'):document.write ("im moon"); 

ok,这样javascript就可以用三元操作符作流程控制了,但是需要注意,在eval中不要出现break;return等中断运算符,这样对?后面的第一个式子相当于没有常规结束,不会产生返回值,会在操作台报错的。
Uncaught SyntaxError: Illegal break statement
Uncaught SyntaxError: Illegal return statement
分享到:
评论

相关推荐

    【第十一章】JavaScript【运算符语句】

    6. **条件运算符(三元运算符)**:`condition ? expr1 : expr2`,根据条件判断执行相应的表达式。 接下来,我们转向语句。语句是JavaScript中执行特定任务的最小可执行单元。 1. **控制流语句**:`if...else`、`...

    JavaScript_这些被用作RareSkillsio和Udemy天然气优化课程的实践作业.zip

    1. **基础语法**:变量声明(var、let、const)、数据类型(Number、String、Boolean、Null、Undefined、Object、Symbol、BigInt)、运算符(算术、比较、逻辑、赋值、三元条件)、流程控制(if...else、switch、for...

    JavaScript.中文学习文档

    - 三元运算符 `condition ? value_if_true : value_if_false` 用于根据条件返回不同的值。 - **3.1.3 使用循环** - 循环结构包括 `for` 循环、`while` 循环和 `do...while` 循环,用于重复执行一段代码。 ##### ...

    Pure JS (7):小结

    1. **基础语法**:包括变量声明(var、let、const)、数据类型(字符串、数字、布尔、null、undefined、对象、数组、Symbol)、运算符(算术、比较、逻辑、三元)以及流程控制(条件语句、循环)。 2. **函数**:...

    JavaScript权威指南(第6版)中文

    - **其他运算符**: 包括一元运算符、三元运算符等。 **2. 客户端JavaScript** - **客户端JavaScript**: - 客户端JavaScript主要用于Web页面的动态功能实现,例如响应用户的输入、改变网页内容等。这部分内容将在...

    长沙科泰梦想军团十月份纳新笔试题答案.docx

    以上就是针对长沙科泰梦想军团十月份纳新笔试题涉及的Java基础知识的详细解析,涵盖了数组、字符串、逻辑运算符、访问控制、JDK与JRE的区别、输入处理、变量作用域、面向对象特征、随机数生成、三元运算符等内容。...

    mosh-ultimate-javascript-mastery-series-part-1:Mosh编写的代码-最终JavaScript精通系列-第1部分

    介绍 该存储库是在与一起学习时,在。 它包含了我在课程中的所有笔记。 它可以用作广泛JavaScript备忘单。 课程内容 入门 基本 运营商 控制流 ... 什么是JavaScript(4:40) ... 三元运算符(2:09) 逻辑运算符(5:30)

    js效果.rar

    1. **基础语法**:变量声明(var、let、const)、数据类型(字符串、数字、布尔值、null、undefined、对象、数组、Symbol、BigInt)、运算符(算术、比较、逻辑、三元、赋值、位运算符)、流程控制(条件语句、循环...

    JAVASCRIPT宝典

    包括变量声明(var、let、const)、数据类型(如字符串、数字、布尔、null、undefined、对象、数组、函数等)、运算符(算术、比较、逻辑、位、三元)以及流程控制语句(条件判断if...else、switch,循环for、while...

    超实用的javascript代码段30道题目答案.docx

    `+`运算符的优先级高于三元运算符,所以先进行字符串连接,然后才进行条件判断。 5. 这段代码会输出`"Goodbye undefined"`。`var`声明的变量在作用域内的任何位置都可访问,但在这里由于`if`语句内的`var name`声明...

    js代码-44张晨荣

    `main.js`是常见的JavaScript源文件名,通常在Web项目中用作主要的入口脚本,包含初始化和控制程序流程的关键代码。在这个上下文中,`main.js`可能包含了这些示例的核心功能或一个综合性的实例,用于演示JS的实际...

    从零开始学Python AI开发系列221

    接下来,我们将学习条件操作符,也称为三元运算符。在某些编程语言中,如C++或JavaScript,条件操作符可以简洁地实现条件判断并赋值。但在Python中,我们更常用if-else语句进行条件判断,而非条件操作符。尽管如此,...

    java-react-demo

    使用三元运算符和加载微调器进行条件渲染 使用React Router在您的单页应用程序中创建自定义的端点 使用CSS模块样式化您的应用程序 如何使用此应用程序 克隆应用程序: ...

    javascript:javascript学习指南

    JavaScript的基础语法包括变量(var、let、const)、数据类型(如字符串、数字、布尔值、null、undefined、对象、数组等)、运算符(算术、比较、逻辑、位、三元等)、流程控制(条件语句、循环语句、开关语句等)。...

    dataStructuresOperators:实践

    ),位运算符,赋值运算符(=,+=,-=等),以及三元运算符(条件运算符)。在JavaScript中,还有一些特殊的运算符,如解构赋值、扩展运算符、空位合并运算符等,这些都极大地丰富了表达能力。 了解并熟练运用这些...

    JcvaScript 权威指南

    它的语法基础包括变量声明(var、let、const)、数据类型(如字符串、数字、布尔值、null、undefined、对象和数组)、运算符(算术、比较、逻辑、三元等)以及控制结构(如if...else、switch、for、while、do......

    javascript-prework

    1. **基础语法**:JavaScript的基础语法是学习的起点,包括变量声明(var、let、const)、数据类型(number、string、boolean、null、undefined、object等)、运算符(算术、比较、逻辑、三元)、流程控制(if、...

    test-gnomeJS:我们要去学习

    此外,还有三元运算符(? :)作为简洁的条件表达式。 **函数与作用域** 函数是JavaScript中的重要组成部分,可以封装可重用的代码。函数可以通过`function`关键字定义,也可以使用ES6的箭头函数表示。JavaScript有...

Global site tag (gtag.js) - Google Analytics