[华为云在线课程][JavaScript数据类型和运算符及流程控制][学习笔记][第1章]
【摘要】 第1章,JavaScript的数据类型 1.1,JavaScript值类型1,number类型var a = 10;console.log(a);//10console.log(typeof a);//number2,string类型var a = "hello world";console.log(a);//hello worldconsole.log(typeof a);//strin...
第1章,JavaScript的数据类型
1.1,JavaScript值类型
- 1,number类型
var a = 10;
console.log(a);//10
console.log(typeof a);//number
- 2,string类型
var a = "hello world";
console.log(a);//hello world
console.log(typeof a);//string
var b = 'hello world';
console.log(b);//hello world
console.log(typeof b);//string
- 3,boolean类型
var a = true;
console.log(a);//true
console.log(typeof a);//boolean
- 4,undefined类型
var a;
console.log(a);//undefined
console.log(typeof a);//undefined
- 5,null类型
var a = null;
console.log(a);//null
console.log(typeof a);//object
- JavaScript的值类型案例
- typeof关键字作用:检测一个数据的类型;语法:typeof数据或typeof(数据)。
var a1 = 10.05;
console.log("值为:" + a1);//值为:10.05
console.log("数据类型为:" + typeof a1);//数据类型为:number
var a2 = "热爱祖国";
console.log("值为:" + a2);//值为:热爱祖国
console.log("数据类型为:" + typeof a2);//数据类型为:string
var a3 = false;
console.log("值为:" + a3);//值为:false
console.log("数据类型为:" + typeof a3);//数据类型为:boolean
var a4;
console.log("值为:" + a4);//值为:undefined
console.log("数据类型为:" + typeof a4);//数据类型为:undefined
1.2,JavaScript引用类型
object类型
var obj = {};
console.log(obj);//{}
console.log(typeof obj);//object
function类型
var fn = function () {
return 10;
}
console.log(fn);
/*
* ƒ () {
return 10;
}
* */
console.log(typeof fn);//function
JavaScript引用类型案例:
var fn = function () {
return 20;
}
console.log(fn);
/*
* ƒ () {
return 20;
}
* */
console.log(typeof fn);//function
var obj = {"name": "华为"};
console.log(obj);//{name: '华为'}
console.log(typeof obj);//object
var obj1 = null;
console.log(obj1);//null
console.log(typeof obj1);//object
引用类型和值类型区别
- 值类型,数据保存在栈中,保存和复制的是值本身,使用typeof检测数据类型,基本类型数据是值类型
/*
* 值类型复制的是数据,当a=10时,将10赋值给b,
* 然后a=20重新赋值,并不会改变b的值
* */
var a = 10;
var b = a;
a = 20;
console.log(a);//20
console.log(b);//10
- 引用类型,数据保存在栈中,保存和复制的是指向对象的一个指针,使用instanceof检测数据类型,使用new()方法构造出的对象是引用型
var arr = [1, 2];
var arr1 = arr;
console.log(arr);//[1,2]
console.log(arr1);//[1,2]
1.3,JavaScript值类型转换
- 隐式类型转换一:
- 转换成string类型,可以为任意的数据类型加一个空串的形式将其转换为字符串:
var a1 = 1;
var result1 = a1 + "";
console.log(result1);//1
console.log(typeof result1);//string
var a2 = true;
var result2 = a2 + '';
console.log(result2);//true
console.log(typeof result2);//string
- 隐式类型转换二:
- 转换为number类型,可以通过一元的+运算符来将一个其他的数据类型转换为number:
var a = "123";
a = +a;
console.log(a);//123
console.log(typeof a);//number
- 隐式类型转换三:
- 转换为boolean类型:可以为一个值取两次反来将其转换为布尔值:
- 当为number型时,只有0返回false,其他的数字都返回true
- 当为字符串时,均返回true
- 当为null或者undefined时返回false
var a = 10;
a = !!a;
console.log(a);//true
console.log(typeof a);//boolean
-
强制类型转换:
- 强制类型转换指将一种数据类型强制转换成另一种数据类型
- JavaScript类型转换主要指将其它的数据类型转换成string、number、boolean
-
其它数据类型转换成string类型:
- 调用被转换类型的toString()方法。该方法不会影响到原变量,它会将转换的结构返回。但是注意,null和undefined没有toString()方法,如果调用它们的方法,则会报错。
- 调用String()函数。调用String()函数,并将被转换的数据作为参数传递给函数。使用String函数做类型强制转换时,对于number和boolean就是调用toString()方法,对于null和undefined,就不会调用toString()方法,它会将null直接转换成null,将undefined转换成undefined。
var a = 123;
a = a.toString();
console.log(a);//123
console.log(typeof a);//string
- 其它数据类型转换成number类型:
- 转换方式一:使用Number()函数
- 如果是纯数字的字符串,则直接将其转换为数字
- 如果字符串中有非数字的内容,则转换为NaN
- 布尔类型转换成数字:true转成数值1;false转成数值0
- Null转成数字0
- undefined转成数字NaN
var x1 = 10;
var x2 = "123";
var x3 = "123 123";
var x4 = false;
var x5 = null;
var x6 = undefined;
console.log(Number(x1));//10
console.log(Number(x2));//123
console.log(Number(x3));//NaN
console.log(Number(x4));//0
console.log(Number(x5));//0
console.log(Number(x6));//NaN
- 其它数据类型转换成number类型:
- 转换方式二:专门用来转换字符串
- parseInt()把一个字符串转换为一个整数
- parseFloat()把一个字符串转换为一个浮点数
- parseInt()可以将一个字符串中的有效的整数内容去出来,然后转换为number
- parseFloat()和parseInt()作用类似,不同的是它可以获得有效的小数
var x1 = "123";
x1 = parseInt(x1);
console.log(x1);//123
console.log(typeof x1);//number
var x2 = "123.45";
x2 = parseFloat(x2);
console.log(x2);//123.45
console.log(typeof x2);//number
var x3 = "123.45";
x3 = parseInt(x3);
console.log(x3);//123
console.log(typeof x3);//number
- 其他数据类型转换成boolean类型:
- 转换方式:使用Boolean()函数
- 对于数字,除了0和NaN,其余的都是true
- 对于字符串,除了空串,其余的都是true
- null和undefined,对于null和undefined都是false
- 对象默认情况下都转换为true
var x1 = 1;
var x2 = 0;
var x3 = NaN;
var x4 = "huawei";
var x5 = "";
var x6 = null;
var x7 = undefined;
var x8 = Object;
console.log(Boolean(x1));//true
console.log(Boolean(x2));//false
console.log(Boolean(x3));//false
console.log(Boolean(x4));//true
console.log(Boolean(x5));//false
console.log(Boolean(x6));//false
console.log(Boolean(x7));//false
console.log(Boolean(x8));//true
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)