博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《AngularJS高级程序设计》——5.6 使用JavaScript运算符
阅读量:7222 次
发布时间:2019-06-29

本文共 1829 字,大约阅读时间需要 6 分钟。

本节书摘来自异步社区《AngularJS高级程序设计》一书中的第5章,第5.6节,作者:【美】Adam Freeman(弗里曼)著,更多章节内容可以访问云栖社区“异步社区”公众号查看

5.6 使用JavaScript运算符

JavaScript定义了大量标准的运算符集。我在表5-3中概括了最有用的。

表5-3  有用的JavaScript运算符

screenshot
5.6.1 使用条件语句
许多JavaScript运算符是和条件语句一起使用的。在本书中,我倾向使用if/else和switch语句。清单5-24展示了两者的使用(如果你使用过几乎所有编程语言,那你会很熟悉)。

清单5-24 在文件jsdemo.html中使用if/else和switch条件语句

screenshot

清单结果如下:

screenshot

5.6.2 对比等于运算符和全等运算符

等于和全等运算符要特别注意。等于运算符会为了判定是否相等而尝试强制将运算对象转为相同类型。只要你意识到它所做的,这就是个得心应手的特性。清单5-25展示了等于运算符的作用。

清单5-25 在文件jsdemo.html中使用等于运算符

screenshot

该脚本输出如下:

screenshot

JavaScript将两个运算对象转化为相同的类型然后比较它们。实质上,等于运算符检测值是否相同,与类型无关。如果想确保检查值和类型都相同,那你需要使用全等运算符(===,三个等号,而不是两个等于运算符),如清单5-26中所示。

清单5-26 在文件jsdemo.html中使用全等运算符

screenshot

在本例中,全等运算符会认定两个变量是不同的。该运算符不会强制转化类型。该脚本的结果如下:

screenshot

JavaScript基元(primitives)是用值做比较,但JavaScript对象是通过引用比较。清单5-27展示了JavaScript如何处理对象的等于和全等检测。

清单5-27 在文件jsdemo.html中对对象执行等于和全等检测

screenshot

该脚本的结果如下:

screenshot

清单5-28展示了对基元执行相同的检测。

清单5-28 在文件jsdemo.html中对基元执行

screenshot

该脚本的结果如下:

screenshot

提示:

AngularJS用angular.equals方法扩展了内置的对比较的支持,它拿两个对象或值做参数,如果它们通过全等比较(===)或者两个参数是对象并且它们的所有属性都通过全等比较,那就返回true。我不倾向使用该方法,所以我在本章中没有包含其演示。
5.6.3 显式转换类型
字符串连接运算符(+)比加号(也是+)的优先级还高,这意味着JavaScript将连接变量优先于加法。这会致使混乱,因为JavaScript还会自由地转化类型而产生结果(该结果并非总是所期望的),如清单5-29所示。

清单5-29 在文件jsdemo.html中字符串连接运算符优先

screenshot

该脚本的结果如下:

screenshot

第二个结果是导致混乱的那种。凭借操作符优先级和狂热的类型转化,可能把加号看作了字符串连接符。为了避免这种情况,你可以显式地转化值的类型,以确保你执行了的运算符类型正确,如下面段落中所述。

1.数字转字符串

如果你有多个数字变量并想将它们作为字符串连接,那你可以使用toString方法将数字转为字符串,如清单5-30所示。

清单5-30 在文件jsdemo.html中使用number.toString方法

screenshot

注意我在圆括号中放的数值,然后我调用toString方法。这是因为你必须让JavaScript在你调用数字类型定义的方法前将字面量转为数字。我还展示了替代方案用以达到相同效果,那就是调用String函数并传入数值作为参数。它们二者的技术效果相同,这是将数字转为字符串,说明“+”运算符用于字符串连接而不是加法。该脚本的输出如下:

screenshot

这还有其他方法,可以让你对数字用字符串表示施以更多控制。在表5-4中简述了这些方法。表中所示的所有方法都由数字类型所定义。

表5-4  可用的数字转字符串的方法

screenshot
2.字符串转数字
互补的技术是将字符串转为数字,以使得你可以执行加法而不是连接。你可以使用Number函数来做,如清单5-31所示。

清单5-31 在文件jsdemo.html中将字符串转为数字

screenshot

该脚本的输出如下:

screenshot

Number方法是一种严格的解析字符串值的方式,但你可以使用另外两个更灵活的,同时也会忽略后面非数字符号的函数。这些函数是parseInt和parseFloat。我在表5-5中全面描述了三种方法。

表5-5  可用的字符串转数字的方法

screenshot

转载地址:http://uneym.baihongyu.com/

你可能感兴趣的文章
时间复杂度的计算
查看>>
js实现iframe自适应高度
查看>>
算法之狄克斯特拉算法 --《图解算法》
查看>>
hive sql 里面的注释方式
查看>>
系统调用与信号重启,好
查看>>
Python学习-修饰器 - itemgetter的妙用
查看>>
【转】Android开发相关的Blog推荐
查看>>
简单理解面向对象设计原则
查看>>
python的面向对象,类,以及类的使用
查看>>
10分钟上手图数据库Neo4j
查看>>
A gdb Example
查看>>
day2 字符串常用方法总结
查看>>
python基础——字符串
查看>>
用 Python 解答两道来自阿里伯乐系统的笔试题
查看>>
ecshop因为php版本过高而引起的报错。
查看>>
一笔"狗"销,"猪"事顺利!!!
查看>>
spring boot使用HandlerInterceptorAdapter+WebMvcConfigurerAdapter拦截
查看>>
Combox默认项设置的问题及解决方案
查看>>
Android版Web服务器实现(二)使用服务来监听HTTP请求
查看>>
POJ 1185 (状态压缩DP)
查看>>