js-1-类型和类型转换

类型和类型转换

对象(object)类型

用法:属性值 **:属性名 逗号,**隔开

var deng = {
    lastName :  "Deng",
    age : 40,
    sex : undifined,
    wife : "zhangsan",
    handsome : false
}

取值:对象名 . 属性名, 如:deng.lastName

赋值:deng.lastName = “DengLun”;

获取类型typeof

typeof(demo); 自身返回的值为string类型

typeof(a); --> a 未定义,则返回字符串: undefined

typeof( typeof(a) ); --> 返回字符串:string

两种用法:typeof(变量名) 或者 typeof 变量名

var num = true;
console.log(typeof(num));  // 在控制台显示num的类型,显示结果为boolean

typeof()可以返回六种值:number(数字类型)、string(字符串类型)、boolean(布尔类型)、

object(对象类型)、 undefined、 function(函数类型)

1. typeof()返回object

​ 范范的引用值都会返回object,例如,var num = []; console.log(typeof(num)); --> object

null 也会返回object,例如,var num = null; console.log(typeof(num)); --> object

2. typeof()返回undefined

​ 对于undefined会返回undefined,例如 var num = undefined; console.log(typeof(num)); --> undefined

类型转换

显示类型转换

Number(mix)
var num = Number('123');
console.log(typeof(num));  // 此时num为数字类型的123,控制台显示:number
var num = undefined;
console.log(typeof(num));  // undefined不能被转化成数,所以控制台显示:NaN (非数)
var num = 'a';
console.log(typeof(num));  // a不能被转化成数,所以控制台显示:NaN (非数)
var num = '123a';
console.log(typeof(num));  // 123a不能被转化成数,所以控制台显示:NaN (非数)
parselnt(string,radix)
用法 1 :转成整型
// 用法 1 :parseInt(demo)
var num = '123';
console.log(typeof(num) + " : " + num);  // 控制台显示:  number : 123

var num = '123.2abc456';
console.log(typeof(num) + " : " + num);  // 控制台显示:  number : 123 (砍到除小数点的非数字类为止)

var num2 = true; // true 、false、 null 、undefined、'abc'
console.log(typeof(num2) + " : " + num2);  // 对于以上测试,控制台都显示:  number : NaN

var num3 = 123.7;  // 123.3  123.4  123.6  123.9
console.log(typeof(num3) + " : " + num3);  // 对于以上测试,控制台都显示:  number : 123 (去小数部分)
用法 2 :进制转换
// 用法 2 :parseInt(demo, radix)  radix:2~36

var demo = 'b';
var num = parseInt(demo,16); // 把demo当做十六进制看,转化成十进制的数,赋给num
console.log(typeof(num) + " : " + num);  // 控制台都显示:  number : 11 
parseFloat(string)
var num = '123.2abc456';
console.log(typeof(num) + " : " + num);  // 控制台显示:  number : 123.2 (砍到除第一个小数点的非数字类为止)
toString(radix)
用法 1 :转成字符串
// undefined 和 null 不能用 toString(),会报错
// 用法:
var demo = 123;
var num = demo.toString()
console.log(typeof(num) + " : " + num); 
用法 2 :进制转换
var demo = 20;
var num = demo.toString(8); // 以十进制为基底,转化成目标进制(8进制) num = 24(8进制)

String(mix)
// 写什么都会变成字符串,比如undefined也会变成字符串'undefined'

var num = 123;  // 123 、 123.1 、abc 、null 、 undefined 、true、hello...
console.log(typeof(num) + " : " + num);  // 显示  string  : 123
Boolean()
// 转化成true 、 false

隐式类型转换

isNaN()

isNaN(demo) 会把里面的demo通过Number(demo)去转化,将转化后的结果与NaN比对,若相同,则返回true,否则返回false。

isNaN('abc');  --> true
isNan('123');  --> false

isNaN(null); --> false;      // Number(null)-->0 --比较NaN-->false 
isNaN(undefined); --> true;  // Number(undefined)-->NaN --比较NaN-->true
++ 、-- 、正号 + 、负号 -

都会转换成数字再做运算。

var a = '123';
a ++;  // a 为number类型,值为:124

var b = 'abc';
b ++;  // b 为number类型,值为:NaN

var c = +"abc" ;
console.log(c +" :" + typeof(c) );  // NaN : number

加号+

只要加号两侧有字符串,就在该处当做字符串连接符使用。

减号 -、* 、/ 、%(取余)

Number(demo);

在这里插入图片描述

var c = +“abc” ;
console.log(c +" :" + typeof© ); // NaN : number




#### 加号+

只要加号两侧有字符串,就在该处当做字符串连接符使用。



#### 减号 -、* 、/ 、%(取余)

 Number(demo);





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值