类型转换和运算符

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. sed命令的使用

    1.sed格式.理解 (1)找谁  干什么 (2)想找谁,就把谁保护起来 2.sed基本操作 操作文件oldboy.txt I am lizhenya teacher! I teach linux. ...

  2. noip模拟46

    A. 数数 排好序从两头贪心即可 B. 数树 首先很容易想到容斥 如果选择的边集的相关点集有点的度数大于 \(1\) 是不合法的 也就是说一定形成若干条长度不一的链 要给这些链上的点安排排列中的数,方 ...

  3. appnium显式等待机制

    强制等待: sleep不推荐全局隐式等待 全局隐式等待: 在服务端等待 driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); ...

  4. Linux高级之语句表达式

    表达式 表达式和语句是 C 语言中的基础概念.什么是表达式呢?表达式就是由一系列操作符和操作数构成的式子.操作符可以是 C 语言标准规定的各种算术运算符.逻辑运算符.赋值运算符.比较运算符等.操作数可 ...

  5. JAVA反序列化的简单探究

    JAVA反序列化的简单探究 本文主要是探究,在反序列化过程中是怎么调用到readObject.readResolve.readExternal方法的问题 新建一个需要被序列化的类ObjectA,写入r ...

  6. python中时间处理标准库DateTime加强版库:pendulum

    DateTime 的时区问题 Python的datetime可以处理2种类型的时间,分别为offset-naive和offset-aware.前者是指没有包含时区信息的时间,后者是指包含时区信息的时间 ...

  7. 浅谈 Xamarin Community Toolkit 的未来发展

    .NET MAUI会在今年晚些时候发布,我们也很高兴和大家一起分享我们对Xamarin Community Toolkit的计划! 这包括 .NET MAUI Community Toolkit.Xa ...

  8. 【OI】蛇形填数题的深入探究

    题目:在 n×n 方阵里填入 1,2,...n×n, 要求蛇形填数.例如,n=4 时方阵为: 10  11  12  1 9    16  13  2 8    15  14  3 7     6  ...

  9. 对象继承深入、call_apply、圣杯模式、构造函数和闭包,企业模块化

    一个实现加减乘除的插件:   原型其实是在构造函数之上的,构造函数变成实例化函数的时候才会有原型, 原型实际上是构造函数的一个属性 原型无非就是2个字:继承 原型中继承父类所有方法是很不合理的,因为没 ...

  10. localStorage util

    // localStorage util var db ={ set : function(key, obj){ localStorage.setItem(key, JSON.stringify(ob ...