JavaScript03
类型转换和运算符
typeof函数
检测数据类型,可以使用以下两种调用的方式:
typeof 变量或表达式
typeof(变量或表达式)
var n="asda";
console.log(typeof n);//string
console.log(typeof(n));//string
数据类型转换
不同类型的数据参与运算时,需要转换类型,根据转换的方式不同可以分为,强制类型转换和隐式类型转换
强制类型转换
toString()
强制转换字符串类型,返回转换后的字符串
var a = 100;
a = a.toString();
var b = true;
b = b.toString();
Number(param)
强制转换Number类型,参数为要进行数据类型转换的变量或值,返回转换后的结果
如果转换成功,返回Number值
如果转换失败,返回NaN,(Not a Number)
隐式类型转换(自动转换)
当字符串与其它数据类型进行"+"运算时,表示字符串的拼接,而不再是数学运算,转换规则:
将非字符串类型的数据转换成字符串后拼接,最终结果为字符串
其它情况下,一律将操作数转Number进行数学运算
运算符
在JavaScript代码中,全部的运算符包含下列几种:
算数运算符和赋值运算符
= 等号,它的功能是将右边的值赋给左边变量
+ - * / %号,它的功能是对变量进行加减乘除取余运算
+= -= *= /= %=号,它的功能是对变量计算后再赋值的简写
符号运算符
自增或自减运算符
++符号和--符号,表示一个变量的自增和自减,它是指在自身基础上进行+1或-1的操作
注意:
自增或自减运算符在单独与变量结合时,放前和放后没有区别
与其他运算符结合使用,如是前缀,那就先++/--,再进行赋值或其它运算,如果是后缀,先结合其它运算符,在进行++/--
关系/比较运算符
关系运算符用来判断表达式之间关系,其结果永远是布尔值true/false
> <
>= <=
== !=
=== !==
相等与全等
相等:不考虑数据类型,只做值的比较(包含自动类型转换)
全等:不会进行数据类型转换,要求类型一致且值相等才判断全等
逻辑运算符
逻辑运算符用于判定变量或值之间的逻辑,包括&&(与)、||(或)、!(非)三种类型
&&逻辑与表达式同时成立,最终结果才为true; and
||逻辑或表达式中只要有一个成立,最终结果即为true;or
!逻辑非对已有表达式的结果取反注意:除0值以外,所有值都为真;not
三目运算符
根据不同的条件,执行不同的操作/返回不同的值,这样的操作过程就是一次三木运算操作
语法格式:表达式1?表达式2:表达式3
过程:
判断表达式1是否成立,返回布尔值
如果表达式1成立,执行表达式2
如果表达式1不成立,执行表达式3
JavaScript03的更多相关文章
- javascript-03
1.Object |-1.var 变量=new Object(); |-变量.自定义的属性='值'; |-变量.自定义名称=function(){} |-2.var ...
随机推荐
- 15-SpringCloud Stream
Stream是什么及Binder介绍 官方文档1 官方文档2 Cloud Stream中文指导手册 什么是Spring Cloud Stream? 官方定义Spring Cloud Stream是一个 ...
- string类型数据的操作指令
1. 2. 3. 4. 5. 6. 7. 8. 9. 从右到左是索引从-1开始 10. 11. 12. 13. 14. 15.
- 基于flex布局的header
一.如图 二.思路 1.定义header,设置宽为100%,高为60px,设置绝对定位,使其为漂浮层.在header里添加container,宽设置为版心宽度,并且设置flex布局. 2.在conta ...
- Element NavMenu动态生成导航菜单
为了演示方便,不从数据库获取了 { "data":[ { "id":125, " ...
- java短信群发项目:
编写一个项目, 1. 以下手机号码段,添加到Map集合当中 2. 从控制台输入要发送信息的短信号码,如果要发送多个,请用英文逗号隔开,输入短信内容 3. 编写一个短信发送类,号码发送前,先判断号码是否 ...
- 安装docker遇到:package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
执行 yum install docker-ce docker-ce-cli containerd.io 提示: 错误: 问题: package docker-ce-3:19.03.8-3.el7.x ...
- electron-vue 开发问题合集
(一)Found 'electron' but not as a devDependency, pruning anyway 原因:对electron没有严格要求的话可以忽略,不影响打包,但会影响第三 ...
- 朴素贝叶斯原理、实例与Python实现
初步理解一下:对于一组输入,根据这个输入,输出有多种可能性,需要计算每一种输出的可能性,以可能性最大的那个输出作为这个输入对应的输出. 那么,如何来解决这个问题呢? 贝叶斯给出了另一个思路.根据历史记 ...
- 『Python』整洁之道
1. 使用 assert 加一层保险 断言是为了告诉开发人员程序中发生了不可恢复的错误,对于可以预料的错误(如文件不存在),用户可以予以纠正或重试,断言并不是为此而生的. 断言用于程序内部自检,如声明 ...
- P3308-[SDOI2014]LIS【最小割】
正题 题目链接:https://www.luogu.com.cn/problem/P3308 题目大意 三个\(n\)个数字的序列\(A,B,C\).要求删除其中某些位置\(i\)使得\(A\)的最长 ...