学习笔记整理-面向对象-05-内置对象

news2024/12/29 8:01:12

一、内置对象

1. 什么是包装类

  • Number()String()Boolean()分别是数字、字符串、布尔值的"包装类"。
  • 包装类的目的就是为了让基本类型值可以从它们的构造函数的prototype上获得方法。
  • Number()String()Boolean()的实例都是object类型,它们的PrimitiveValue属性存储它们的本身值。
  • new出来的基本类型值可以正常参与运算。
  • 包装类的目的就是为了让基本类型值可以从它们的构造函数的prototype上获得方法。

2. Math对象

  • 幂和开方:Math.pow()Math.sqrt()

  • 向上取整和向下取整:Math.ceil()Math.floor()

  • 四首五入:Math.round()

    • 如何才能实现"四首五入到小数点后某位"呢?
      obj-16
  • Math.max()可以得到参数列表的最大值。

  • Math.min()可以得到参数列表的最小值。

  • 如何利用Math.max()求数组最大值

    • Math.max()要求参数必须是"罗列出来",而不能是数组。
    • apply方法可以指定函数的上下文,并且以数组的形式传入"零散值"当做函数的参数。
         var arr = [3, 6, 9, 2];
         var max = Math.max.apply(null, arr);
         console.log(max); 
      
  • Math.random()可以得到0-1之间的小数。

    • 为了得到[a, b]区间内的整数,可以使用这个公式:
        parseInt(Math.random() * (b - a + 1)) + a
      

3. Date(日期)对象

  • 使用new Date()即可得到当前时间的日期对象,它是object类型值。

  • 使用new Date(2020, 11, 1)即可得到指定日期的日期对象,注意第二个参数表示月份,从0开始算,11表示12月。

  • 也可以是new Date('2020-12-01')这样的写法

  • 日期对象的常见的方法

    参数描述
    getDate()得到日期1~31
    getDay()得到星期0~6
    getMonth()得到月份0~11
    getFullYear()得到年份
    getHours()得到小时数0~23
    getMinutes()得到分钟数0~59
    getSeconds()得到秒数0~59
  • 时间戳

    • 时间戳表示1970年1月1日零点整距离某时刻的毫秒数
    • 通过getTime()方法或者Date.parse()函数可以将日期对象变为时间戳
    • 通过new Date(时间戳)的写法,可以将时间戳变为日期对象
  • 小案例

    • 题目:在页面上实时显示距离2021年高考还有多少天、多少时 、多少分、多少秒
      <!DOCTYPE html>
      <html lang="en">
      
      <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Document</title>
      </head>
      
      <body>
          <h1>2021年高考倒计时</h1>
          <h2 id="info"></h2>
          <script>
              var info = document.getElementById('info');
      
              setInterval(function(){
                  // 现在的日期
                  var nd = new Date();
                  // 目标的日期,5表示六月
                  var td = new Date(2021, 5, 7);
      
                  // 毫秒差
                  var diff = td - nd;
      
                  // 任务很简单,就是把diff换算为天、小时、分钟、秒
                  // 换算为多少天,除以一天的总毫秒数,不就是换算为多少天么
                  var day = parseInt(diff / (1000 * 60 * 60 * 24));
                  // 零多少小时呢??差的总毫秒数与1天的毫秒数的相除的余数,就是零头的毫秒数
                  var hours = parseInt(diff % (1000 * 60 * 60 * 24) / (1000 * 60 * 60));
                  // 零多少分钟呢??
                  var minutes = parseInt(diff % (1000 * 60 * 60) / (1000 * 60));
                  // 零多少秒呢??
                  var seconds = parseInt(diff % (1000 * 60 * 60) % (1000 * 60) / 1000);
      
                  
                  info.innerText = day + '天' + hours + '时' + minutes + '分' + seconds + '秒';
              }, 1000);
              
          </script>
      </body>
      
      </html>
      
  • 重点内容

    • 熟悉每条函数上下文this的判定规则。
    • call和apply的功能和区别
    • 用new调用函数的四步走
    • 什么是类和实例?面向对象编程的意义。
    • prototype和原型链查找
    • 继承的实现
    • 使用面向对象实现小案例
    • 熟练掌握Math、Date等JS内置对象。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/879400.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

e6zzseo:谷歌SEO如何建站

​​​​​​​#秋实之美#谷歌SEO是指优化网站以在谷歌搜索引擎上获得更好的排名和可见性。建立一个优化的网站需要考虑多个因素&#xff0c;包括网站结构、内容质量、关键词优化、技术优化等。 e6zzseo专注搜索引擎获客技术 以下是建立谷歌SEO友好的网站的一些建议&#xff1…

【springmvc系】利用RequestBodyAdviceAdapter做接口鉴权

需求 有个简单的需求&#xff0c;对于第三方接口我们需要做个简单的鉴权机制&#xff0c;这边使用的是非对称性加密的机制。我们提供三方公钥&#xff0c;他们通过公钥对接口json报文使用加密后的报文请求&#xff0c;我们通过对接收过来的请求某一个加密报文字段来进行RSA解密…

SpringBoot复习:(50)TransactionManager是哪里来的?是什么类型的?

运行结果&#xff1a; 可见它的类型是DataSourceTransactionManager.它是通过自动配置创建的。

iview中table表头内容换行展示

如图效果图展示表头内容换行展示&#xff0c;代码如下&#xff1a; 在data中定义表头column Columns:[ {title: this.labelFn(Name, Name),key: name,align: center,}, ]在methods中定义方法 labelFn (name, str) {// 在需要换行的地方加入换行符 \n &#xff0c;在搭配最底…

去掉数组中头部和尾部的0numpy.trim_zeros()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 去掉数组中头部和尾部的0 numpy.trim_zeros() 选择题 以下说法错误的是? import numpy as np anp.array([0,0,1,2,3,4,0,0]) print("【显示】a:");print(a) print("【执行1】p…

CSAPP Lec01

1. CMU 15213_15513 CSAPP 深入理解计算机系统 Lecture 01 Course Overview 中英字幕_哔哩哔哩_bilibili 从这个课程中可以学到什么&#xff1f;&#xff08;为什么要学这门课&#xff09; Great Reality #1&#xff08;数字类型&#xff09;: Ints are not Integers, Floats…

c语言——颠倒字符串顺序

//颠倒字符串顺序 //列如&#xff1a;我们将runningman利用递归翻转计算。 #include<stdio.h> void reverseSentence(); int main() {printf("字符串输入:");reverseSentence();return 0; }void reverseSentence() {char c;scanf("%c",&c);if(c!…

Java课题笔记~ JSP开发模型

MVC 1.JSP演化历史 1. 早期只有servlet&#xff0c;只能使用response输出标签数据&#xff0c;非常麻烦 2. 后来有了jsp&#xff0c;简化了Servlet的开发&#xff0c;如果过度使用jsp&#xff0c;在jsp中即写大量的java代码&#xff0c;有写html表&#xff0c;造成难于维护&…

档案库房智能管理系统的功能有哪些呢?

档案库房智能管理系统是一个基于人工智能技术的综合性档案管理解决方案&#xff0c;通过自动化、智能化的方式&#xff0c;优化了档案管理流程&#xff0c;提高了工作效率和信息安全性。 1.档案入库管理&#xff1a; 档案信息录入&#xff1a;系统可以通过扫描、识别和自动填写…

UDP/TCP协议

传输层协议 再谈端口号端口号范围划分认识知名端口号两个问题netstatpidof UDP协议UDP协议端格式UDP的特点面向数据报UDP的缓冲区UDP使用注意事项基于UDP的应用层协议 TCP协议TCP协议段格式确认应答(ACK)机制超时重传机制连接管理机制理解 CLOSE_WAIT 状态理解TIME_WAIT状态解决…

开发测试框架一 - 创建springboot工程及基础操作

一、创建及运行方式 1. 从官网导入&#xff1a; 注意&#xff1a;由于我的java版本是1.8&#xff1b;所以选中了spring2.7.14&#xff1b;如果你的java版本是9及以上&#xff0c;选中spring3相关的同时Java 版本也要对应起来 2. 创建第一个get请求 创建Controller package及…

【深入理解C语言】-- 关键字1

&#x1f407; &#x1f525;博客主页&#xff1a; 云曦 &#x1f4cb;系列专栏&#xff1a;深入理解C语言 &#x1f4a8;吾生也有涯&#xff0c;而知也无涯 &#x1f49b; 感谢大家&#x1f44d;点赞 &#x1f60b;关注&#x1f4dd;评论 文章目录 前言一、auto1.1 auto的介…

【MySQL】表的内连和外连

本期我们来谈谈表的连接 目录 一、内连接 二、外连接 2.1 左外连接 2.2 右外连接 一、内连接 内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选&#xff0c;我们上期学习的复合查询都是内连接&#xff0c;也是在开发过程中使用的最多的连接查询 使用内连接时…

proteus结合keil-arm编译器构建STM32单片机项目进行仿真

proteus是可以直接创建设计图和源码的&#xff0c;但是源码编译它需要借助keil-arm编译器&#xff0c;也就是我们安装keil-mdk之后自带的编译器。 下面给出一个完整的示例&#xff0c;主要是做一个LED灯闪烁的效果。 新建工程指定路径&#xff0c;Schematic,PCB layout都选择默…

记一次mybatis-plus关于Long和long自动添加过滤条件的bug记录

文章目录 1.前提条件2.相关知识3.原理解释&#xff1a;4.情景复现&#xff1a; 1.前提条件 接口代码是由mybatis-plus封装的page分页 有一个实体类属性类型是long和Long的区别&#xff1a;long会添加一个过滤条件未异常情况&#xff0c;改成Long则不会添加是正常情况,详细情况参…

leetcode358周赛

2815. 数组中的最大数对和 核心思想&#xff1a;维护每一个最大的数字的最大值&#xff0c;然后一边更新最大值&#xff0c;一边统计结果。其中求nums中的每一个数的数位最大值可以用map的方法&#xff0c;我自己做的时候是用的%10&#xff0c;感觉map这种方法很巧妙。 2816. …

如何在iPhone手机上修改手机定位和模拟导航?

如何在iPhone手机上修改手机定位和模拟导航&#xff1f; English 首先&#xff0c;你需要在Mac电脑上下载安装 Location Simulator/定位模拟工具 和 Runner 这两款应用程序。 完成安装后&#xff0c;打开软件&#xff0c;并用USB连接手机设备 修改iPhone手机定位和模拟导航 …

锐捷无线产品运维

目录 登录AP产品 Console登录&#xff08;只可以现场登录&#xff09; Web/Telnet/SSH登录&#xff08;可以现场、远程登录&#xff09; 配置AP的管理地址 通过Web界面远程登录 通过Telnet、SSH等命令行的方式登录 登录AC产品 Console登录&#xff08;只可以现场登录&a…

CSS中的position属性有哪些值,并分别描述它们的作用。

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ static⭐ relative⭐ absolute⭐ fixed⭐ sticky⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为那…

梯度下降介绍

什么是梯度 梯度是微积分中一个很重要的概念&#xff0c;在单变量的函数中&#xff0c;梯度其实就是函数的微分&#xff0c;代表着函数在某个给定点的切线的斜率&#xff1b;在多变量函数中&#xff0c;梯度是一个向量&#xff0c;向量有方向&#xff0c;梯度的方向就指出了函…