JavaScript入门(二)

3.6 获取变量数据类型

typeof可以获取变量数据类型

console.log(typeof 2023);
console.log(typeof "Hello,World!");
console.log(typeof true);
console.log(typeof undefined);
console.log(typeof null);
var age=prompt('请输入你的年龄');
console.log(age);
console.log(typeof age);

prompt取过来的值都是 字符型 的

3.7 字面量

一些固定的值,比如:1、2 、3、true、false、null、NaN、“hello”,字面量都是不可以改变的;

由于字面量不是很方便使用,所以在JavaScript中很少直接使用字面量,使用的而是变量。

console.log(18);
console.log('18');
console.log(true);
console.log(undefined);
console.log(null);

console控制台中:Number型为蓝色,String型为黑色,Boolean型为深蓝色,UndefinedNull型为灰色。

3.8 数据类型转换

使用表单、prompt获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,而需要转换变量的数据类型。

3.8.1 转换为String字符串类型

方法一:变量.toString()

该方法不会影响到原变量,它会将转换的结果返回,null和undefined这两个值没有toString()方法,如果调用它们,会报错。

方法二:String(变量)

对于null和undefined,就不会调用toString()方法,它会将 null 直接转换为 “null”,将 undefined 直接转换为 “undefined”。

var a = 123;
a = String(a);
console.log(a);
console.log(typeof a);

var b = undefined;
b = String(b);
console.log(b);
console.log(typeof b);

var c = null;
c = String(c);
console.log(c);
console.log(typeof c);
方法三:利用+拼接字符串的方法实现转换(隐式转换)
var a = 123;
a = a + "";
console.log(a);
console.log(typeof a);

3.8.2转换为Number数字类型

方式一:parseInt(变量) 将字符型转换为数字型,得到的是整数
var year = prompt('请输入今年年份');
console.log(parseInt(year));
console.log(parseInt('3.14'));
console.log(parseInt('3.99'));
console.log(parseInt('120px'));//先识别到120,px识别不出就被砍掉了
console.log(parseInt('no120px'));//no识别不出,之后的全部砍掉,所以得NaN
方式二:parseFloat(变量) 将字符型转换为数字型,得到的是小数、浮点数
console.log(parseFloat('3.14'));
console.log(parseFloat('3.99'));
console.log(parseFloat('120px'));
console.log(parseFloat('no120px'));
方式三:利用Number(变量)
  • 字符串 转换 数字

  • 如果是纯数字的字符串,则直接将其转换为数字;

  • 如果字符串中有非数字的内容,则转换为NaN;

  • 如果字符串是一个空串或者是一个全是空格的字符串,则转换为0。

  • 布尔 转换 数字

  • true 转成 1

  • false 转成 0

  • null 转换 数字

  • null 转成 0

  • undefined 转换 数字

  • undefined 转成 NaN

//字符串转换成数字型
console.log(Number('3.99'));
console.log(Number('120px'));
console.log(Number('no120px'));
console.log(Number(' '));
//布尔型转换成数字型
console.log(Number(true));
console.log(Number(false));
//null转换成数字型
console.log(Number(null));
//undefined转换成数字型
console.log(Number(undefined));
方式四:利用算术运算 - * / (隐式转换)
console.log('12' - 0);
console.log('123' - '120');

3.8.3 转换为Boolean布尔类型

将其它的数据类型转换为Boolean,使用Boolean(变量)函数。

代表空、否定的值会被转换为false,例如' '、0、Null、Undefined、NaN等 ;其余值转换为true。即:

  • 字符串 转换 布尔型

  • 空串,如' ',转成false;

  • 非空串,转成true。

  • 数字 转换 布尔型

  • 0 和 NaN 转成false,其余转成true

  • Undefined、Null 转换 布尔型

  • 转成false

四、标识符、关键字、保留字

4.1 标识符

指开发人员为变量、属性、函数、参数取的名字,不可为关键字或保留字。

4.2 关键字

指JS本身已经使用了的字,不能再用它们充当变量名、方法名

4.3 保留字

预留的关键字,即,现在虽然还不是关键字,但是未来可能会成为关键字,同样不能再用它们充当变量名、方法名

五、运算符

也称为操作符,用于实现赋值、比较和执行算数运算等功能的符号

5.1 算术运算符

console.log(1+1);//2
console.log(1-1);//0
console.log(1*1);//1
console.log(1/1);//1
console.log(4%2);//0
console.log(5%3);//2
//浮点数运算容易出问题
console.log(0.1+0.2);//0.30000000000000004
//不要直接判断两个浮点数是否相等
var num = 0.1 + 0.2;
console.log(num == 0.3);//false

表达式,由数字、运算符、变量等以能求得数值的有意义排列方法所得的组合,表达是最终的结果返回给我们,称为返回值

5.2 递增和递减运算符

  • 前置递增(递减)运算符(++/--写在变量的前面):

var a=10;
++a;
console.log(a);//11
var b=10;
console.log(++b + 10);//21

先加/减1,后返回值

  • 后置递增(递减)运算符(++/--写在变量的后面):

var a=10;
a++;
console.log(a);//11
var b=10;
console.log(b++ + 10);//20

先返回原值,再加1

5.3 比较运算符

两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值。即,如果相等会返回true,否则返回false。

//==  默认转换数据类型,会把字符串类型的数据转换为数字型(此时存在隐式转换),只要求数值相等
console.log(18 == 18);//true
console.log(18 == '18');//true
//===  要求两边的值和数据类型完全一样
console.log(18 === 18);//true
console.log(18 === '18');//false

5.4 逻辑运算符

进行布尔值运算,返回值也是布尔值

//&& 两侧均为true,结果才为true;只要有一侧为false,就为false
console.log(3>5&&3<7);//false 因3>5为false
console.log(3<5&&3<7);//true
//|| 或,只要有一侧为true,结果为true;只有两侧均为false时,结果才为false
console.log(3>5&&3<7);//true 因3<7为true
console.log(3>5&&3>7);//false 因两侧均为false
//!
console.log(!true);//false
  • 短路运算(逻辑中断)

当有多个表达式(值)时,如果左边的表达式(值)可以确定结果时,就不再继续运算右边表达式的值。

①逻辑与

  • 表达式1 && 表达式2

  • 若表达式1的值为真,返回表达式2

  • 若表达式1的值为假,返回表达式1

console.log(123 && 456);//数字里除0以外均为真,则表达式1:123为真,返回表达式2,即输出456
console.log(0 && 456);//表达式1:0为假,返回表达式1,即输出0
//0 NaN ' ' Null Undefined

②逻辑或

  • 表达式1 || 表达式2

  • 若表达式1的值为真,返回表达式1

  • 若表达式1的值为假,返回表达式2

var num = 0;
console.log(123 || num++);//表达式1:123为真,返回表达式1:123,即num++不再执行,则num仍为0
console.log(num);

5.5 赋值运算符

把数据赋值给变量的运算符

5.6 运算符优先级

  • 一元运算符里面的逻辑非优先级很高

  • 逻辑与逻辑或优先级

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值