一,JS的运行环境

  1. 在html中使用JS,浏览器去解析
  2. NodeJS环境内封装了JS的解析器

二,JavaScript的特点

1.客户端执行

2.执行顺序自上而下

3.弱类型(数据类型)语言

var a = 1;

var a = 'hello';

4.解释性语言,可直接执行

三,逻辑与 &&  短路运算符

a&&b

返回值不一定为boolean类型

有假则假,同真为真

如果第一个数是假性值,那么返回该值

如果第一个数是真,返回第二个数

四,逻辑或 || 短路运算符

a||b

返回值不一定为boolean类型

有真则真,同假则假

如果第一个数是真,那么返回第一个数

如果第一个数是假的,直接返回第二个数

 

五,逻辑非  ! 取反

将一个其他数据类型转换成boolean类型的反值

!true  false

!null  true

!''    true

!!''   false

!!将其他的数据类型转换成boolean类型

六,类型转化:

1,其他数据类型转换成boolean

Boolean()

!!

2,其他数据类型转换成string

.toString()

String()

+''

3,其他数据类型转换成number类型

Number()

+

+的特性

如果两边都是number类型,进行累加

如果两边有一个是number类型,另外一个不是string类型,将另外一个转成number 类型再累加

如果有一边是string类型,另外一边是其他的基本数据类型,直接进行字符串的拼接

一元运算符+,进行数据类型的转换

有一边是number类型,另一边是object类型,优先调用valueOf()方法,如果没有则调用toString()方法

1+obj

有一边是string类型,另一边是object类型,优先调用valueOf()方法,如果没有则调用toString()方法

'hello'+obj

day1-4js算术运算符及类型转化的更多相关文章

  1. PHP中的运算符---算术运算符、逻辑运算符、赋值运算符、比较运算符

    1.算术运算符 常见的算术运算符 运算类型 运算符 举例 结果 取反运算 - -$a 返回$a的负值 加法运算 + $a + $b 返回$a与$b的和 减法运算 - $a - $b 返回$a与$b的差 ...

  2. C++ 类型转化(运算符重载函数)和基本运算符重载(自增自减)

    类型转化(运算符重载函数) 用转换构造函数可以将一个指定类型的数据转换为类的对象.但是不能反过来将一个类的对象转换为一个其他类型的数据(例如将一个Complex类对象转换成double类型数据).在C ...

  3. js常用算术运算符与一元运算符在做运算时不同类型的转换规则

    /** * 算术运算符:+, -, *, /, % * 当对非number类型的值进行运算(-, *, /, %)时,会将这些值先转换成number再运算,加法'+'运算除外, * 当对非number ...

  4. 040_字符串连接符 041_条件运算符目 042_运算符优先级_逻辑与或优先问题 043_自动类型转化 044_强制类型转换 045_基本类型常见错误_溢出_L问题

    040_字符串连接符 package test_package; /** * 字符串运算符 * @author * */public class TestOperator05 { public sta ...

  5. JAVA算术运算符、关系运算符和位运算符

    算术运算符 1.java的算数运算符包括+(加).-(减).*(乘)./(除).%(取余),在运算过程中出现的隐式转换原则和C语言一样:2. 高位数据向低位数据转化要使用强制转化: 关系运算符 1.j ...

  6. Java中byte、short、char、int、long运算时自动类型转化问题

    -------------------------------------------------------------------------------------------------- ★ ...

  7. C# 运算符和类型强制转换(6) 持续更新

    C#支持的运算符 https://msdn.microsoft.com/zh-cn/library/6a71f45d(v=vs.140).aspx checked 和 unchecked ; b++; ...

  8. C#定义类型转化 及 格式化字符串

    operator 关键字 operator 关键字用来重载内置运算符,或提供类/结构声明中的用户定义转换.它可以定义不同类型之间采用何种转化方式和转化的结果. operator用于定义类型转化时可采用 ...

  9. C++中的显式类型转化

    类型转化也许大家并不陌生,int i; float j; j = (float)i; i = (int)j; 像这样的显式转化其实很常见,强制类型转换可能会丢失部分数据,所以如果不加(int)做强制转 ...

随机推荐

  1. HDU 2586(LCA欧拉序和st表)

    什么是欧拉序,可以去这个大佬的博客(https://www.cnblogs.com/stxy-ferryman/p/7741970.html)巨详细 因为欧拉序中的两点之间,就是两点遍历的过程,所以只 ...

  2. Java - Test - TestNG: Idea 引入 testng.xml 自动生成插件

    1. 概述 Idea 引入自动生成 testng.xml 插件 自动生成 testng.xml 2. 背景 testng 调试 调试 testng, 主要是这两种方法 ide 下直接执行测试 方法 类 ...

  3. C#中的循环:while do...while for

    循环:重复将相同或类似规律的代码进行反复执行 减少代码冗余  可维护  可扩展 while(bool) { ...; } 代码块中可以使用break或者continue中断 break:中断整个循环 ...

  4. Laravel 虚拟开发环境 Homestead 密码

    默认数据库账号密码账号: homestead 密码:secret 默认 ssh 账号密码账号:vagrant 密码:vagrant创建默认 root 用户sudo passwd root

  5. .net core IIS 发布

    发布时注意事项: 1.本机安装.net core SDK 2.启动项目预加载 3.应用池配置为 无托管代码 4.设置应用池-->高级设置-->启动模式为:AlwaysRunning 5.在 ...

  6. 在 input 上添加图标字体时无法添加的问题

    效果:一个搜索框.如图: 实施过程:一开始,将搜索框分为2部分,用2个 input ,一个 search ,一个 button ,然后给 type="button" 的input ...

  7. 占位符 css

    == 普通的英文半角空格   ==   ==   == no-break space (普通的英文半角空格但不换行)   == 中文全角空格 (一个中文宽度)   ==   == en空格 (半个中文 ...

  8. 02-Spring的IOC示例程序(通过id获取对象)

    *******通过IOC容器创建id对象并为属性赋值******** 整体结构: ①创建一个java工程 ②导包 ③创建log4j.properties日记配置文件 # Global logging ...

  9. java8date

    Java 8:新的时间和日期API 在Java 8之前,所有关于时间和日期的API都存在各种使用方面的缺陷,因此建议使用新的时间和日期API,分别从旧的时间和日期的API的缺点以及解决方法.Java ...

  10. Ubuntu 16 安装Nginx+Php+Mysql

    嗯哼,结束外派,我胡汉三又回来了,回来第一件事,就是重新装服务器,搭环境,以前用的apache,最近改了nginx,来吧,从头开始 因为以前一直用apache,这次换一个nginx试试. 1.更新系统 ...