js笔记_变量_常亮_数据类型_数据类型转换_运算符

1.变量

(1)命名规则
变量名称可以使用字母、数字、下划线、美元符合,其中不能以数字开始,不能使用关键字。不能使用汉字语义
username   user_name   userName
yongHuMing
(2)变量赋值
变量声明后未赋值为undefined(未定义),变量可以多次赋值,并且赋不同类型的值,这也是弱类型语言的特点。
(3)一次声明多个变量
var  m1=1, m2=2,m3;
多个直接用逗号隔开

2.常量

也是用来存储数据
声明后必须赋值,不允许重新赋值
const  pi=3.14;

3.数据类型

分为原始类型和引用类型
原始类型分为数值型、字符串型、布尔型、未定义型、空
(1)数值型
10进制
1   2   3   ...   7    8   9   10  ...   15   16   
8进制:以0开头的数字,例如012
1   2   3   ...   7   10   11  12
16进制:以0x开头的数字,a~f代表10~15,不区分大小写
1   2   3   ...            9    a  ...    f    10
浮点型
3141.5e-1
314.15
31.415e+1
3.1415e+2
(2)字符串型
被引号所包含的值都是字符串型,不区分单双引号
查看任意一个字符的Unicode码
'a'.charCodeAt()
(3)布尔型
只有两个值,分别是true和false,代表真和假
用于存储只有两个值得数据
(4)未定义型
只有一个值undefined,表示一个空值,声明变量未赋值则为undefined
(5)空
只有一个值null,表示一个空值,结合对象使用
检测数据类型   typeof
数值型   'number'
字符串型   'string'
布尔型   'boolean'
未定义型  'undefined'
对象型    'object'

4.数据类型转换

分为隐式转换和强制转换

(1)隐式转换
在运算过程中自动产生的转换
①数值+字符串    数值转为字符串
  '3'+5   //'35'
②数值+布尔型  布尔型转为数值   true->1  false->0
  2+true  //3
  2+false //2
③字符串+布尔型   布尔型转为字符串
  '3'+true  //'3true'
  加号(+)运算符的作用
  数字之间的加法运算
  字符串之间的拼接
  NaN:Not a Number,不是一个数字,将一个值转为数值的时候没有成功得到一个数字,结果就是NaN,值执行加减乘除等数学运算结果还是NaN
  所有的隐式转换为数值会自动调用函数Number()
(2)强制转换
①强制转换为数值
  Number()
  Number('4')  //4
  Number('1a')  //NaN
  Number(true)  //1
  Number(false)  //0
  Number(undefined)  //NaN
  Number(null)  //0
②强制转换为整型
  parseInt()
  用于将小数和字符串转为整型,其它类型转换的结果为NaN
  parseInt(1.9)  //1
  parseInt('3.14a')  //3
  parseInt('a3.14')  //NaN
③强制转换为浮点型
  parseFloat()
  用于将字符串转为浮点型,其它类型转换的结果为NaN
  parseFloat('3.14a')  //3.14
  parseFloat('6')  //6
  parseFloat('a3.14')  //NaN
④强制转换为字符串(了解)
  只能用于将数值和布尔型转为字符串
  toString()
  var n=2;
  var str=n.toString()  //'2'

5.运算符

表达式:由数据本身或者由运算符连接的操作数据组成的形式
运算符分为算术运算符、比较运算符、逻辑运算符、位运算符、赋值运算符、三目运算符
(1)算术运算符
+  -  *  /   %   ++  --
%  取余数
++  自增,在原来基础上加1
--   自减,在原来基础上减1
var b1=1;
//先把b1当前的值赋给b2,然后b1再执行自增
var b2=b1++;
var c1=1;
//先让c1执行自增,再把自增后的值赋给c2
var c2=++c1;
var n1=8;
var n2=n1--;
var n3=--n1;
console.log(n1,n2,n3);
(2)比较运算符
>   <   >=   <=   ==(等于)   !=   ===(全等于)   !==(不全等于)
==   等于,只是比较两个值是否相同,可能会产生隐式转换
===   全等于,不仅比较值,还会比较类型,不会产生隐式转换
3>'10'  //false   数字和字符串比较,字符串转为数值
'3'>'10'  //true   字符串之间比较的是首个字符的Unicode编码
3>'10a'   //false
3<'10a'  //false
3=='10a'  //false
NaN==NaN  //false
NaN和任何值比较(>  <  >=  <=  ==  ===)结果都是false
(3)逻辑运算符
&&   逻辑与(并且),关联的两个条件都是true结果是true,否则false
||    逻辑或(或者),关联的两个条件有一个是true结果是true,否则false
!   逻辑非,取反
posted @ 2021-11-08 14:21  陈某L  阅读(80)  评论(0)    收藏  举报