类型转换和运算符

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的更多相关文章

  1. javascript-03

    1.Object   |-1.var  变量=new Object();         |-变量.自定义的属性='值';     |-变量.自定义名称=function(){}   |-2.var ...

随机推荐

  1. 15-SpringCloud Stream

    Stream是什么及Binder介绍 官方文档1 官方文档2 Cloud Stream中文指导手册 什么是Spring Cloud Stream? 官方定义Spring Cloud Stream是一个 ...

  2. string类型数据的操作指令

    1. 2. 3. 4. 5. 6. 7. 8. 9. 从右到左是索引从-1开始 10. 11. 12. 13. 14. 15.

  3. 基于flex布局的header

    一.如图 二.思路 1.定义header,设置宽为100%,高为60px,设置绝对定位,使其为漂浮层.在header里添加container,宽设置为版心宽度,并且设置flex布局. 2.在conta ...

  4. Element NavMenu动态生成导航菜单

    为了演示方便,不从数据库获取了 {     "data":[         {             "id":125,             " ...

  5. java短信群发项目:

    编写一个项目, 1. 以下手机号码段,添加到Map集合当中 2. 从控制台输入要发送信息的短信号码,如果要发送多个,请用英文逗号隔开,输入短信内容 3. 编写一个短信发送类,号码发送前,先判断号码是否 ...

  6. 安装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 ...

  7. electron-vue 开发问题合集

    (一)Found 'electron' but not as a devDependency, pruning anyway 原因:对electron没有严格要求的话可以忽略,不影响打包,但会影响第三 ...

  8. 朴素贝叶斯原理、实例与Python实现

    初步理解一下:对于一组输入,根据这个输入,输出有多种可能性,需要计算每一种输出的可能性,以可能性最大的那个输出作为这个输入对应的输出. 那么,如何来解决这个问题呢? 贝叶斯给出了另一个思路.根据历史记 ...

  9. 『Python』整洁之道

    1. 使用 assert 加一层保险 断言是为了告诉开发人员程序中发生了不可恢复的错误,对于可以预料的错误(如文件不存在),用户可以予以纠正或重试,断言并不是为此而生的. 断言用于程序内部自检,如声明 ...

  10. P3308-[SDOI2014]LIS【最小割】

    正题 题目链接:https://www.luogu.com.cn/problem/P3308 题目大意 三个\(n\)个数字的序列\(A,B,C\).要求删除其中某些位置\(i\)使得\(A\)的最长 ...