数据类型

数值类型

整数和浮点数

在Javascript内部,所有的数字都是以64位浮点形式存储的,即便是整数也是如此,所以,在Javascript中1 和1.0,是同一个数字。

console.log(1 === 1.0); // true

由于浮点数不是精确的值,所以在计算的时候要特别的小心。

console.log(0.1 + 0.2 === 0.3); // false
console.log(0.3 / 0.1); // false

遗留问题:至于浮点数为什么不能表示精确的值,自己找相关的资料。
Javascript所能表示的数值范围:

    console.log(Number.MAX_VALUE); // 1.7976931348623157e+308
    console.log(Number.MIN_VALUE); // 5e-324

遗留的问题:数值的表示方法,16进制、8进制、科学计数法等。
关于+0和-0的概念(在Javacript中任何一个数都有一个负值,0也不例外)

    console.log(+0 === -0); // true
    console.log(1 / +0); // +Infinity
    console.log(1 / -0); // -Infinity
    console.log(1 / +0 === 1 / -0); // false

NaN(Not a Number)

主要出现在将字符串错误的解析为数字。

    console.log(5 - 'x'); // NaN
    console.log(0 / 0); // NaN
    console.log(Math.sqrt(-9)); // NaN


typeof运算符

用于确定当前变量的值是什么数据类型。

    console.log(typeof 123); // number
    console.log(typeof '123'); // string
    console.log(typeof true); // boolean
    console.log(typeof test); // function
    console.log(typeof undefined); // undefined
    console.log(typeof [1,2,3]); // object
    console.log(typeof {}); // object
    console.log(typeof null); // object

数组的类型也是object,这说明在Javascript中,数组本质上只是一种特殊的对象。
遗留的问题:null和undefined的区别


parseInt():把字符串解析为整数,要注意的是,字符串在解析为整数的时候,是一个个字符解析的,如果遇到不能转为数字的字符,就不再解析下去,返回已经解析完成的字符数字。

      	console.log(parseInt('12px')); // 12
    	console.log(parseInt('012')); // 12
    	console.log(parseInt(' 12')); // 12
        console.log(parseInt('12  abc 12')); // 12

字符串

字符串是一个或多个排在一起的字符,可以用单引号和双引号包裹。
在单引号包裹的字符串内部可以使用双引号,同样的,在双引号包裹的字符串内部也是可以使用单引号。

    console.log("hello,'world'!");
    console.log('hello,"world"!');

在源代码中如果需要使用多行字符串,我们一般使用 + 或者 \ ,但是一般都是使用 + 拼接。

	console.log('hello,world!' +
    'hello,world!' +
    'hello,world!hello,world!');

数组

数组是按次序排列的一组值。每个值的位置都有编号(从0开始的)。整个数组用方括号表示。

数组的元素可以是不同的数据类型。
如果数组中的元素也为数组,那么就构成了一个二维数组

var arr = ['a','b','c'];
var arr2 = [];
arr2[0] = 'a';
arr2[1] = 'b';
arr2[2] = 'c';
var arr3 = ['a',12,true,{name:"Tom",age:18}];
console.log(typeof arr3[2]); // boolean

var arr4 = [[1,2],[3,4]];
console.log(arr4[1][0]); // 3

1. 数组的本质

本质上,数组就是一个对象。通过typeof运算符返回的类型就是object。

console.log(typeof arr4); // object
console.log("arr['1']=" + arr['1']); // b
console.log(Object.keys(arr)); // ["0", "1", "2"]

2.length属性

length属性返回的是数组的成员数量。
Javascript使用32位整数保存数组的元素个数,所以length的最大值为232-1。
只要是数组,就有length属性,而且length属性是一个动态的值,该值等于键名中的最大整数+1。

清空一个数组比较有效的方法就是设置length=0

var arr5 = [1,2,3,4,5];
console.log(arr5.length); // 5
arr5[100] = 100;
console.log(arr5.length); // 11
console.log(arr5[7]);

var arr6 = [1,2,3,4];
console.log(arr6[3]); // 4
arr6.length = 3;
console.log(arr6[3]);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值