0%

数据类型

原始类型的方法

  • 7种原始类型:stringnumberbigintbooleansymbolnullundefined
  • 对象
  • 除了 nullundefined 以外的原始类型都提供了许多有用的方法
  • 形式上,构造器方法,内置方法通过临时对象工作

实例

  • 原始对象不是对象,不能额外存储数据
let str = "hello";
str.test = 5;
alert(str.test);

//问? 返回结果是什么
// (1)undefined(非严格模式)
// (2)报错(严格模式)
// 分析:
// 1. 当我们访问str属性时,一个‘对象包装器‘被创建
// 2. 严格模式下,写入内容会报错
// 3. 否则,会执行属性操作,对象获得test属性,但使用完’对象包装器消失‘,因此str并没有这个属性

数字类型

number有两种类型

  1. js中常规数字以64位的格式IEEE-754存储,也就是“双精度浮点数”,常规数字不能超过 2e53 或小于 -2e53
  2. BigInt数字,表示任意长度的整数

编写数字的更多方法

  • 表示10亿
    1. let billion = 1000000000;
    2. let billion = 10e9;
    3. let billion = 1bn;
  • 进制
    1. 16进制:0xff,一般用于表示颜色,编码字符等
    2. 8进制: 0o377,八进制255
    3. 2进制:0b11111111,二进制255
    4. 其他进制使用,parseInt

toString(base)

  • 返回给定 base 进制数字系统中 num 的字符串表示形式。
//例子
let num = 255;
alert(num.toString(16));	// ff
alert(num.toString(2));		// 11111111
  • base 范围可以从 236。默认情况下是 10

  • base=36 是最大进制,数字可以是 0..9A..Z。例如,做一个短的URL,可以使用基数为36的数字系统表示

    alert( 123456..toString(36));  //2n9c
    
    //也可写为
    (123456).toString(36);
    • 使用两点调用一个方法:注意,数字后一个点表示后面是小数部分,两个点就表明无小数部分,直接调用后面的方法

舍入

  • 对数字进行舍入(rounding)的内建函数
  1. Math.floor:向下舍入
  2. Math.ceil:向上舍入
  3. Math.round:向最近的整数舍入
  4. Math.trunc:移除小数点后的内容,不舍入