java 连续运算_JS连续运算
JavaScript 是函数式编程语言,表达式运算的能力比较强大,通过连续运算可以设计敏捷的程序代码。
示例1
最常用的是连续赋值运算。
var a = b = c = 1;
上面代码相当于声明 3 个变量,并全部初始化值为 1。
示例2
条件运算符在连续运算中扮演者重要的角色,它可以把复杂的分支结构浓缩到一个表达式中。例如,在事件处理函数中,经常会用下面表达式处理事件对象兼容问题。
event ? event : window.event;
拆分为分支结构:
if(event){
event = event; //如果支持event参数,则直接使用event
}else{
event = window.event; //否则调用window对象event属性
}
示例3
下面使用条件运算符设计多重分支结构。
var a = ((a == 1) ? console.log(1)) : //如果a等于1,则提示1
(a == 2) ? console.log(2) : //如果a等于2,则提示2
(a == 3) ? console.log(3) : //如果a等于3,则提示3
(a == 4) ? console.log(4) : //如果a等于4,则提示4
console.log(undefined) //否则提示undefined
);
拆分为多重分支结构:
switch(a) {
case 1 :
console.log(1);
break;
case 2 :
console.log(2);
break;
case 3 :
console.log(3);
break;
case 4 :
console.log(4);
break;
default:
console.log(undefined);
示例4
对于复合型数据——对象、数组、函数,都可以作为操作数,参与表达式运算。例如,对于下面的操作:先定义函数,再调用函数。
var f = function(x,y){ //定义匿名函数
return (x+y) / 2;
}
console.log(f(10,20));调用匿名函数
使用表达式表示:
console.log(
(function(x,y){
return (x+y) / 2;
}) (10,20) //直接调用匿名函数
); //返回值15
示例5
通过小括号连续调用,使用表达式可以设计多层嵌套的函数结构。
console.log(
(function() {
return function(x,y) {
return function() {
return (x+y) /2;
}
}
}) () (10,20) () //连续3次运算
); //返回值15
如果转换为命令式语句,则代码如下:
var f = function() {
return function(x,y) {
return function() {
return (x+y) /2;
}
}
}
var f1 = f(); //第一次调用外层函数
var f2 = f1(10,20); //第二次调用中层函数
var f3 = f2(); //第三次调用内层函数
console.log(f3); //返回值15
示例6
下面示例演示如何使用表达式创建对象。
var o = typeof 56; //返回数值56的类型
console.log(
(new ( //根据多条件运算式返回值创建
(o == "string") ? String :
(o == "number") ? Number :
(o == "boolean") ? Boolean :
(o == "array") ? Array:
Object
)
).toString() //把创建的对象转换为字符串返回
);
上面代码使用条件运算符的嵌套,连续判断变量 o 的值,然后使用 new 创建对象,最后通过点运算符调用 toString() 方法把新创建的对象转换为字符串并返回。
如果使用逻辑运算符,可以进一步浓缩表达式。代码如下:
console.log((new ((o == "string") ? String : (o == "number") ? Number : (o == "boolean") ? Boolean : (o == "array") ? Array : Object)).toString();
java 连续运算_JS连续运算相关推荐
- php大于等于符号怎么打出来_PHP常用的特殊运算符号(连续小于符号,三个小于符号,eot,eod,echo示例,print示例)...
最近在写PHP程序的时候发现了一些特殊的PHP符号,例如连续小于符号,三个小于符号,eot,eod,echo示例,print示例等,突然间发现用这么久的PHP了,竟然连PHP的基本符号都没有认全,看到 ...
- matlab中连续信号的卷积,连续时间信号卷积运算的MATLAB实现
. . . .. .. 连续时间信号卷积运算的MATLAB 实现 一.实验目的 (1) 理解掌握卷积的概念及物理意义. (2) 理解单位冲击响应的概念及物理意义. 二.实验原理 根据前述知识,连续信号 ...
- Java二进制位运算、移位运算、、
为什么80%的码农都做不了架构师?>>> Java二进制位运算.移位运算 思考题 1.请看下面的代码段,回答a,b,c,d,e结果是多少? public static void ...
- Java从入门到精通08-二进制、位运算、移位运算
Java从入门到精通08-二进制.位运算.移位运算 二进制(Binary)数用0和1两个数字及其组合来表示任何数.进位规则是"逢2进1",数字1在不同的位上代表不同的值,按从右到左 ...
- java反码算术运算求和,位运算的妙用,运算妙用
位运算的妙用,运算妙用 最近在学java,其实仅仅是在命令行里写程序跟C语言没有太大的区别,思想都是一样的.遇到了一个比较新鲜(后来知道原来C中也有)的东西--位元算(又叫位操作).多新鲜啊,毕向东老 ...
- java if 赋值语句_Java中有一种特殊的赋值运算叫做三元运算,它和if-else语句类似....
Java中有一种特殊的赋值运算叫做三元运算,它和if-else语句类似. 答:√ 顺序阀在液压系统中起___作用 答:压力开关 断电后,机器人关节轴发生了位移,不需要更新转速计数器 答:× " ...
- java char 计算_经典Java面试题之Java中Char类型的运算
经典Java面试题之Java中Char类型的运算 char在java中称为"字符型",占2个字节.本文是百分网小编搜索整理的关于经典Java面试题之Java中Char类型的运算,有 ...
- 复数加减java_用java实现复数的加减乘除运算
用java实现复数的加减乘除运算 1. 背景 老师在课上布置了几道java编程题,此为其中之一 2. 题目内容 设计一个类Complex,用于封装对复数的下列操作: (1)一个带参数的构造函数,用于初 ...
- JAVA计算平方,幂运算,三角函数等
JAVA中要想计算一个数值的平方根, 可以使用 sqrt 方法: double x = 4; double y = Math.sqrt(x); System.out.println(y); 在 Jav ...
最新文章
- matlab 极坐标作图polar
- Win10 配置 TensorFlow-gpu 深度学系框架
- 【MFC】带组合框的工具栏
- IntelliJ IDEA 如何设置编辑窗口的背景图片
- 云原生时代来袭 下一代云数据库技术将走向何方?
- Android Kernel Features
- Tomcat中设置数据源和连接池
- vos2009 校验版本超时_开源多云应用平台 Choerodon猪齿鱼发布0.14版本
- ABP中module-zero快速集成微信用户认证
- PHP搭建留言板,PHP搭建简易留言板
- Windows2000系统下载安装,怀念一下
- 人脸数据库汇总 (来自网络)
- 数字化审图时代批量生成PDF或者DWF利器SmartBatchPlot
- 鸡易发呼吸道疾病的原因 鸡打喷嚏甩鼻用什么药
- SpringBoot缓存@Cacheable
- AR技术与VR技术哪个更能代表未来?
- 淘宝商品采集上架拼多多店铺(无货源数据采集接口,拼多多商品详情数据,淘宝商品详情数据,京东商品详情数据)接口代码对接教程
- 【武器系统】【2008.06】海军巡航导弹的制导与控制
- 利用python目录化整理PPT素材文件
- html5游戏偷菜源码,偷菜游戏原码
热门文章
- java打印jnibtye[]
- OpenCV霍夫变换:霍夫线变换,霍夫圆变换合辑
- 判断一个矩阵是否可对角化
- MPLS ×××的三部分CE、PE和P简介
- Window server 补丁修复及补丁回滚
- 后退键无效 html,javascript – Cordova – window.history.back()不支持iOS 9中的HTML后退按钮...
- 创建oracle数据库有哪些方法,oracle11g创建数据库的方法-Oracle
- exception java doc,Javadoc和RuntimeException
- 语言 上课点名 缺勤_主播日记5 | “云端”传递的C语言程序设计实验课
- 域服务器广播消息,广播,组播和UNIX域套接字