JavaScript之运算符、进制

引入方式

内部js

执行顺序

image-20200727111950081

外部引入js

外部引入放在头部

内联js

image-20200727112623768

变量与常量

常量

image-20200727114238319

document用法

document.write(“

我是h1

”)

原样输出

image-20200727114903523

空格

 空格

 全角空格(一个中文大小的空格)

 半角空格(半个中文大小的空格)

数据类型

  • 字符串 string
  • 数字 number
  • 数组 array
  • 布尔类型 boolean
  • 空值 null
  • 未定义 undefined
  • object 对象

判断数据类型 typeof

  • typeof方法返回的是字符串
  • typeof null/array => “object” 空对象
  • undefined( 值) => 类型也是 undefined
  • 数组也是特殊格式的对象(object)

console.log注释

image-20200727150715314

特殊值(数组类型 number)

Nan(not a number)非数字

Infinity 无穷大

运算符

算术运算符

隐式类型转换

  • 字符串遇到"+" 会拼接形成新的字符串(无论加号在前,还是在后)

  • 字符串遇到"- * / %" 。会隐式转化为数字

    • 如果是纯数字类型的字符串, 转化为对应的数值
    • 如果是非纯数字类型的字符串 ,转化为NaN
  • boolean值遇到算术运算符 转化为数字

    • true 1

      false 0

  • null 遇到算术运算符,转化为数字类型 ,变成0

  • undefined 遇到算术运算符,变成NaN

强制类型转换

javascript parseInt() 函数的进制转换注意细节
https://www.jb51.net/article/33107.htm

String() 将其他类型转化为字符串类型

number() 将其他类型转化为数字类型

  • 如果是纯数字类型的字符串, 转化为对应的数值
  • 如果是非纯数字类型的字符串 ,转化为NaN
  • 空字符串转为0
  • 空格字符串转换为0

boolean() 将其他类型转为布尔类型

  • 自己有实际值,转化为boolean值,则为true

  • 空字符串转为boolean值,为false

  • 自己本身无实际值,转化为boolean值,则为false

  • 0转换为boolean则为false

  • NaN转化为boolean值为false

  • Infinity转化为boolean值,则为true

  • null 转化为boolean值,则为false

  • undefined转化为boolean值,则为false

parseInt() 将其他类型转化为十进制整数

parseInt()找到字符串中第一个非数字之前的数,转化为整数

参数

parseInt(string, radix) 有2个参数

  • 第一个string 是传入的数值,
  • 第二个radix是 传入数值的进制,参数radix 可以忽略,默认为 10,各种进制的数转换为 十进制整数

parseFloat() 将其他类型转化为浮点数(小数)

精度丢失问题

关系运算符

优先级

image-20200727173414093


单个等号代表赋值操作

两个等号代表相等(只比较数值,忽略类型,即使等号左右两边的数类型不一样)

!= 比较不相等(不比较类型)

三个等号代表全等(既比较数值,也比较类型)

!= 比较不全相等(比较类型和数值)

关系运算符,返回布尔值

  • 字符串和字符串笔记,按照ASCIL码对照表进行比较(先比较第一位)

    image-20200729090643678

  • 如果是字符串和数字比较,字符串隐式转化为数字

image-20200728092025161

  • 如果是布尔类型和数字比较,布尔类型隐式转换为数字

image-20200728092106411

  • null和数字比较,null不转化(没有可比性,都是false,仅限于等于比较的情况)

  • underfined和数字比较 ,underfined不转化

  • null和undefined 比较 数值相等,类型不相等

Math计算

image-20200727180127119

相关方法

Math.random() 随机生成0-1的随机数(取得到0,取不到1)

Math.min() 接收多个值,返回最小值

Math.max() 接收多个值,返回最大值

Math.pow(m,n) m的n次方

Math.ceil() 向上取整

Math.floor() 向下取整

Math.round( ) 四舍五入

Math.abs() 绝对值

相关属性

Math.PI

float类型丢失精度问题

解决办法

  • 在java中,使用BigDecimal,而且需要在构造参数使用String类型

  • 把两个数扩大100倍,运算之后,再缩小100倍

  • num.toFixed(2) 保留两位小数(返回是是字符串

number.toString() 将数字转化为字符串

进制转换

参考链接;https://blog.csdn.net/final__static/article/details/89405945

二进制与十进制

十进制转二进制

image-20200728144208305

二进制转十进制

image-20200728144325180

二进制与八进制

八进制转二进制

image-20200728144424062

二进制转八进制

image-20200728144610654

二进制与十六进制

十六进制转二进制

image-20200728144705501

二进制转十六进制

image-20200728144749943

十进制与八进制与十六进制之间的转换

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值