JS基础-2

JS基础-2

1.常量

声明后必须赋值,不允许重新赋值

const userName='root';

练习:声明常量保存圆周率,声明变量保存半径,分别计算圆的周长和面积并打印出来

const pi=3.14;
var r=5;
var l=2*pi*r;
var s=pi*r*r;
console.log(l,s);

在这里插入图片描述

2.数据类型

分为原始类型和引用类型

原始类型

原始类型分为数值型、字符串型、布尔型、未定义型、空。

引用类型是对象,后边讲到】

(1)数值型

整数

十进制:1 2 3 4 5 6 7 8 9 10

八进制:1 2 3 4 5 6 7 10 11 12【以零开头的数字】

十六进制:1 2 … 8 9 a ~ f 10【以0x开头的数字,af代表1015,不区分大小写】

浮点型

var n4=314.15
var n5=3.1415E+2;
var n6=3.1415e-1;
console.log(n4,n5,n6);

在这里插入图片描述

typeof:检测数据类型
‘number’/‘string’/‘boolean’/‘undefined’/‘object’
console.log(typeof n4);

在这里插入图片描述

(2)字符串型

被引号所包含的数据,不区分单双引号

var s1='2';
var s2='s1';
console.log(s1,typeof s1);
console.log(s2,typeof s2);

在这里插入图片描述

查看任意一个字符的Unicode码

console.log('a'.charCodeAt());

在这里插入图片描述

(3)布尔型

只有两个值,分别是==truefalse==,表示真和假

var b1=true;
var b2=false;
console.log(b1,typeof b1);
console.log(b2,typeof b2);

在这里插入图片描述

条件的结果会是布尔型,还可以用于保存状态,例如是否登录,是否注册,……

var b3=3>1;
console.log(b3);
(4)未定义型

只有一个值为undefined

声明了变量未赋值则为undefined

var c1;
var c2=undefined;
console.log(c1,c2);

在这里插入图片描述

(5)空

只有一个值为null,常和引用类型一起使用

3.数据类型转换

(1)隐式转换

程序运行过程中自动产生的转换

(1)数值+字符串 //数值会转为字符串

var n1=2+'3';
console.log(n1,typeof n1);

在这里插入图片描述

(2)数值+布尔型 //布尔型转为数值 true-1 false-0

var n2=2+true;
console.log(n2,typeof n2);

在这里插入图片描述

(3)字符串+布尔型 //布尔型转换为字符串

var n3='3'+true;
console.log(n3,type n3);

在这里插入图片描述

练习:查看以下的程序运行结果

var a=1,b=true,c='tedu';
console.log(a+b+c);
console.log(b+c+a);
console.log(c+a+b);

在这里插入图片描述

练习:假设从后端获取到了一个员工的编号,姓名:打印出一下格式:员工编号:xx姓名:xx

var eid='12';
var ename='张小腾';
console.log('员工编号'+eid+' 姓名'+ename);

在这里插入图片描述

JS中’+'的作用

  1. 加法运算

  2. 执行字符串之间的拼接

    NaN(Not a Number) 不是一个数字,在将数据转化为数值型的时候,没有成功返回的结果。

    NaN和任何数字执行加减乘除等运算结果还是NaN.

    结论:隐式转换为数值自动调用Number函数

(2)强制转换

强制转为数值型
var o2=Number('5');         //5
var o1=Number('5a');        //NaN
var o3=Number(true);        //1
var o4=Number(undefined);   //NaN
var o5=Number(null);        //0
强制转为整型

parseInt()

var p1=parseInt(1.9);       //1
var p2=parseInt('3.14');    //3
var p3=parseInt('3.14a');   //3
var p4=parseInt('a3.14');   //NaN
var p5=parseInt(true);      //NaN
var p6=parseInt(undefined); //NaN
var p7=parseInt(null);      //NaN

用于将字符串和小数转为整形,其他转换都是NaN

强制转为浮点型

parseFloat()

用于将字符串转为浮点型

var f1=parseFloat('5.18');  //5.18
var f2=parseFloat('4.7a');  //4.7
var f3=parseFloat('a4.7');  //NaN
var f4=parseFloat('3b');    //3
强制将数值和布尔型转为字符串
var num=5;
//将转换后得到的字符串保存到变量str中
var str=num.toString();

4.运算符

表达式:由数据或者由运算符连接的操作数据组成的形式

运算符分为算术运算符、比较运算符、逻辑运算符、位运算符、赋值运算符、三目运算符

(1)算术运算符

(+ )、(-)、( *)、( /)、(++)、(- -)、(%)

‘%‘ 取余

‘++’ 自增,在原来基础上加1

‘- -’ 自减,在原来基础上减1

var a=1;
var b=a++;	//先把a的值赋给b,然后a再执行自增
var c=2;
var d=++c;	//先让c的值执行自增,然后将自增的结果赋给d

练习:查看以下程序的运行成果

var num=8;
var num1=num--;
var num2=--num;
console.log(num1+num2);	//15
console.log(num);		//6

(2)比较运算符

(<)、(>)、(<=)、(>=)、(==)、(!=)、(= = =)、(!= =)

= = 等于,比较值是否相同

= = = 全等于,先比较类型,再比较值(推荐用法)

3>’10‘ //false 数字和字符串比较会隐式转换为数值

‘3’>‘10’ //true 两个字符串比较i,比较的是Unicode码

’3‘->59 ‘1’->49

3>‘10a’ //false

3<‘10a’ //false

3==‘10a’ //false

NaN和任何值进行比较都是false

面试题

正负,隐式转换

console.log(5+ +'3');

自增和自减,隐式转换为数值

var a='2';
a++;	//2+1
console.log(a);	//3

(3)逻辑运算符

&& :并且、逻辑与,关联的两个条件都是true,结果是true,否则是false

|| :或者、逻辑或,关联的两个条件有一个为true,结果是true,否则false

! :逻辑非、取反

短路逻辑

&& 当第一个条件为false,不再执行第二个条件

|| 当第一个条件为true,不再执行第二个条件

【短路逻辑无需关注整体上是true还是false,重点是看第二部分有没有执行】

小编第一次在csdn上发表有关文章,如果有问题可以私信我,有问题也可以一起讨论。而且小编也会不定时更新的哦!!
小编寄语:希望大家多多努力,创造更好的自己
侵删

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值