2024-12-25 日报 Day46

2024-12-25 日报 Day46

Yuyang 前端小白🥬

今日的鸡汤

不要只顾着欣赏他人的绚烂,而忘记了自己的芬芳。

今日学习内容

1、JS红皮书P132-135 第五章:基本引用类型

今日笔记

1、ECMAScript 提供了 Math 对象作为保存数学公式、信息和计算的地方。Math 对象提供了一些辅助计算的属性和方法。
注意 Math 对象上提供的计算要比直接在 JavaScript 实现的快得多,因为 Math 对象上的计算使用了 JavaScript 引擎中更高效的实现和处理器指令。但使用 Math 计算的问题是精度会因浏览器、操作系统、指令集和硬件而异。
2、Math对象属性:

  • Math.E:自然对数的底数,即常量e的值。
  • Math.LN2:2的自然对数。
  • Math.LN10:10的自然对数。
  • Math.LOG2E:以2为底e的对数。
  • Math.LOG10E:以10为底e的对数。
  • Math.PI:圆周率。
  • Math.SQRT1_2:1/2的平方根。
  • Math.SQRT2:2的平方根。
    3、Math对象方法:
  • min()和max方法:min()和 max()方法用于确定一组数值中的最小值和最大值。这两个方法都接收任意多个参数,如下面的例子所示:
    1
    2
    3
    4
    let max = Math.max(3, 54, 32, 16); 
    console.log(max); // 54
    let min = Math.min(3, 54, 32, 16);
    console.log(min); // 3
    要知道数组中的最大值和最小值,可以像下面这样使用扩展操作符:
    let values = [1, 2, 3, 4, 5, 6, 7, 8];
    let max = Math.max(…val);
  • 舍入方法:接下来是用于把小数值舍入为整数的 4 个方法:Math.ceil()、Math.floor()、Math.round()和 Math.fround()。这几个方法处理舍入的方式如下所述。
     Math.ceil()方法始终向上舍入为最接近的整数
     Math.floor()方法始终向下舍入为最接近的整数
     Math.round()方法把舍入为最接近的整数
     Math.fround()方法返回最接近参数的单精度浮点数表示
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    console.log(Math.ceil(25.9)); // 26 
    console.log(Math.ceil(25.5)); // 26
    console.log(Math.ceil(25.1)); // 26
    console.log(Math.round(25.9)); // 26
    console.log(Math.round(25.5)); // 26
    console.log(Math.round(25.1)); // 25
    console.log(Math.fround(0.4)); // 0.4000000059604645
    console.log(Math.fround(0.5)); // 0.5
    console.log(Math.fround(25.9)); // 25.899999618530273
    console.log(Math.floor(25.9)); // 25
    console.log(Math.floor(25.5)); // 25
    console.log(Math.floor(25.1)); // 25
  • random()方法:Math.random()方法返回大于等于 0 小于 1 的一个随机数。这个随机数是由一个均匀分布产生的,其平均值是 0.5。
    注意 Math.random()方法在这里出于演示目的是没有问题的。如果是为了加密而需要生成随机数(传给生成器的输入需要较高的不确定性),那么建议使用 window.crypto.getRandomValues()。
  • 其他方法:
    方法 描述
    abs() 返回数值的绝对值
    cbrt() 返回数值的立方根
    exp() 返回Math.E的x次幂
    log() 返回数值的自然对数(以e为底)
    pow() 返回数值的x次幂
    sqrt() 返回数值的平方根
    sign() 返回数值的符号,指示数值是正数、负数还是零
    trunc() 返回数值的整数部分,去除小数部分
    4、小结:
    JavaScript 中的对象称为引用值,几种内置的引用类型可用于创建特定类型的对象。
     引用值与传统面向对象编程语言中的类相似,但实现不同。
     Date 类型提供关于日期和时间的信息,包括当前日期、时间及相关计算。
     RegExp 类型是 ECMAScript 支持正则表达式的接口,提供了大多数基础的和部分高级的正则表达式功能。
    JavaScript 比较独特的一点是,函数实际上是 Function 类型的实例,也就是说函数也是对象。因为函数也是对象,所以函数也有方法,可以用于增强其能力。由于原始值包装类型的存在,JavaScript 中的原始值可以被当成对象来使用。有 3 种原始值包装类型:Boolean、Number 和 String。它们都具备如下特点。
     每种包装类型都映射到同名的原始类型。
     以读模式访问原始值时,后台会实例化一个原始值包装类型的对象,借助这个对象可以操作相
    应的数据。
     涉及原始值的语句执行完毕后,包装对象就会被销毁。
    当代码开始执行时,全局上下文中会存在两个内置对象:Global 和 Math。其中,Global 对象在大多数 ECMAScript 实现中无法直接访问。不过,浏览器将其实现为 window 对象。所有全局变量和函数都是 Global 对象的属性。Math 对象包含辅助完成复杂计算的属性和方法。
此页目录
2024-12-25 日报 Day46