JavaScript【七】JavaScript中的内置顶层函数

news2025/1/15 21:04:33

文章目录

  • 🌟前言
  • 🌟内置
  • 🌟顶层
  • 🌟内置顶层函数
    • 🌟 Number()
    • 🌟 parseInt()
    • 🌟parseFloat()
    • 🌟String()
    • 🌟Boolean()
    • 🌟 isNaN()
    • 🌟eval()
    • 🌟Number扩展
  • 🌟写在最后

在这里插入图片描述

🌟前言

哈喽小伙伴们,本文将收录在JavaScript【前端童子功】这个专栏里;这个专栏里边会收录一些JavaScript的基础知识和项目实战;希望大家可以多多支持,你们的支持就是我创作的动力;让我们一起来看看吧🤘

🌟内置

ECMAscript自带的函数,ECMAscript 自带的函数,ECMAscript将我们常用的一些功能封装起来,用户不需要知道其实现原理而直接使用。

🌟顶层

指函数的作用范围,作用范围为全局

🌟内置顶层函数

🌟 Number()

Number() —— 任意类型数据转化为数字

  • 如果是布尔值,true为1,false为0
  • 如果是数值,转换为本身,会将无意义的后导零与前导零去掉
  • 如果为null,转换为0
  • 如果是undefined,转换为NaN not a number
  • 如果是字符串,
    • 如果字符串中只有数字,则转换为数字(10进制)会忽略前导0和后导0
    • 如果是规范的浮点数,则转换为浮点数 会忽略前导0和后导0
    • 如果是空字符串,转换为0
    • 如果是其它值,转换为NaN

案例:用户输入两个数字及运算符进行计算

// 由于prompt方法获取到的数据均为字符串,所以需要转化为数字
var num1 = Number(prompt("请输入第一个数字:"))
var operator = prompt("请输入运算符")
var num2 = Number(prompt("请输入第二个数字:"))
switch (operator) {
    case '+':
        alert("运算结果为:"+ (num1 + num2))
        break;
    case '-':
        alert("运算结果为:"+ (num1 - num2))
        break;
    // ...
    default:
        alert("请输入正确的运算符 + - * / %")
        break;
  }

🌟 parseInt()

parseInt() —— 任意类型数据转化为整数

  • 如果一个字符串中只包含数字,转换为十进制数
  • 如果有多个空格,会先找到第一个非空的值进行转换,直到非数值时结束
  • 如果第一个值不是以数字-数字空格开头的,转换为NaN
  • 有两个参数时,第一个参数表示要转换的值,第二个参数表示几进制,返回值是一个十进制的数字

注意第一个参数从最高位开始计算,只要有一位数可以识别为第二个参数传入的进制,则可以实现转化
注意第二个参数可以传入的值为 2-36

🌟parseFloat()

parseFloat() —— 任意类型数据转化为浮点数(小数)

  • 只有一个小数点起作用,其它无效
  • 如果字符串是一个有效的整数,他返回的是整数,不会返回浮点数。

🌟String()

String() —— 任意类型数据转化为字符串

  • 如果是null,undefined,转换为字符串 “null” “undefined”
  • 如果是数值类型,转换为本身的字符串,123 转换为 “123”
  • 如果是布尔类型,true为"true" false为"false"

🌟Boolean()

Boolean() —— 任意类型数据转化为布尔值

  • 转换结果是假:“”(空串),null,undefined,0,false,NaN
  • 其它都为真

🌟 isNaN()

isNaN(); —— 判断一个数据能否转换为数值

  • 如果能转换成数值返回false,不能返回为true
  • 如果isNaN(x)返回false,那么x在任何算数表达式中都不会使表达式等于NaN;如果返回true,x会使所有算数表达式返回NaN
isNaN(NaN);         // true
isNaN(null);        // false   
isNaN(undefined);   // true
isNaN("");        // false

🌟eval()

eval(); —— 将传入的字符串当做 JavaScript 代码进行执行

var str = "(1+2)*3";
eval(str);     // 9
  • 避免在不必要的情况下使用 eval
    • 需要解析,速度慢
    • 安全性差:所执行的字符串容易被操控修改从而收到攻击

🌟Number扩展

Number.isFinite() 与 Number.isNaN()

Number.isFinite()用来检查一个值是否为有限的。
Number.isNaN()用来检查一个值是否是NaN。

console.log(isFinite('15'));    // true
console.log(isFinite(true));    // true
console.log(Number.isFinite('15')); // false
console.log(Number.isFinite(true)); // false

console.log(isNaN('true'))        // true
console.log(Number.isNaN('true')) // false

Number.isInteger() 用来判断一个值是否为整数。

需要注意的是,在JavaScript内部,整数和浮点数是同样的储存方法,所以3和3.0被视为同一个值。

console.log(Number.isInteger(25))   // true
console.log(Number.isInteger(25.0)) // true
console.log(Number.isInteger(25.1)) // false
console.log(Number.isInteger("15")) // false
console.log(Number.isInteger(true)) // false

🌟写在最后

更多JavaScript知识以及API请大家持续关注,尽请期待。各位小伙伴让我们 let’s be prepared at all times!

✨原创不易,还希望各位大佬支持一下!
👍 点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!

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

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

相关文章

(详细)《美国节日》:某月的第几个星期几

目录 一、题目描述: 二、思路: 1、给定 年月日,如何知道这天是星期几? 2、已知这个月的第一天是星期几,如何知道第三个星期一是几号? 3、最后一个星期一 三、思路总结 四、代码 一、题目描述&#xf…

机器学习---集成学习报告

1.原理以及举例 1.1原理 集成学习(Ensemble Learning)是一种机器学习策略,它通过结合多个基学习器(base learners)的预测来提高模型的性能。集成学习的目标是创建一个比单个基学习器更准确、更稳定的最终预测模型。这…

力扣---LeetCode面试题17.04.消失的数字

文章目录前言面试题17.04.消失的数字方法一:方法二:异或解析:方法三:总结前言 我有我要赶去的远方,风雨兼程披星戴月 本章的内容是力扣每日随机一题的部分方法的解析 提示:以下是本篇文章正文内容&#xf…

安全防御 --- 恶意代码、防病毒

一、恶意代码 1、按照传播方式分类 (1)病毒 概念:病毒是一种基于硬件和操作系统的程序,具有感染和破坏能力,这与病毒程序的结构有关。病毒攻击的宿主程序是病毒的栖身地,它是病毒传播的目的地&#xff0…

2023.04.09 学习周报

文章目录摘要文献阅读1.题目2.摘要3.简介4.本文贡献5.传统方法6.IDLSTM-EC7.实验7.1 数据集7.2 基线7.3 评估指标7.4 实验结果8.结论9.展望MDS降维算法1.基本思想2.优化目标3.数学推导4.算法流程马尔可夫链1.随机过程2.简介3.数学定义4.转移概率矩阵5.状态转移矩阵的稳定性Navi…

Python 访问 PostgreSQL

文章目录一、前言1.1 概述1.2 什么是 Psycopg二、操作 PostgreSQL2.1 连接数据库2.2 异常处理2.3 创建表2.4 INSERT 操作2.5 SELECT 操作2.6 UPDATE 操作2.7 DELETE 操作2.8 事务管理2.9 调用存储函数2.10 批量操作一、前言 1.1 概述 Python 是一种高级、通用的解释型编程语言…

排序算法之希尔排序

📝个人主页:爱吃炫迈 💌系列专栏:数据结构与算法 🧑‍💻座右铭:快给我点赞赞💗 文章目录1. 希尔排序2. 算法思路3. 算法实现4. 算法性能分析💞总结💞1. 希尔排…

自己再造一个大规模预训练语言模型?可以的

1. 引言 自ChatGPT发布至今已近半年,一路走来,我们可以清楚地看到的一个趋势是,到了下半年,每位研究者都会拥有一个类似ChatGPT的模型。这种现象与当年BERT推出后,各种BERT变体层出不穷的情况颇为相似。实际上&#x…

Prophet学习(一) Python API实现

目录 Python API 详细介绍 完整代码: Python API 详细介绍 Prophet遵循sklearn模型API。我们创建Prophet类的实例,然后调用它的fit和predict方法。 Prophet的输入总是一个有两列的数据帧:ds和y。ds(日期戳)列应该是Pandas期望的格式,理想…

APIs --- DOM事件进阶

1. 事件流 事件流指的是事件完整执行过程中的流动路径 任意事件被触发时总会经历两个阶段:【捕获阶段】和【冒泡阶段】 事件捕获 概念:从DOM的根元素开始去执行对应的事件(从外到里) 捕获阶段是【从父到子】的传导过程 代码&…

基于SSM框架开发的小区物业管理系统JavaWeb项目源码

随着信息化时代的到来,小区的管理也日趋完善,开始逐步采用信息化系统对小区业主进行管理,对一些业务进行线上处理。小区物业管理系统正是为了满足这种需求而诞生的,也有不少同学会选择该课题作为毕业设计项目选题,下面…

【Unity入门】9.帧更新

【Unity入门】帧更新 大家好,我是Lampard~~ 欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢 (一)获取挂载对象的属性信息 (1)获取名字信息 首先在C#代码中,this代表着脚本本身&#…

MySQL 事务和视图

🎉🎉🎉点进来你就是我的人了 博主主页:🙈🙈🙈戳一戳,欢迎大佬指点!人生格言:当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔🦾&am…

Machine Learning-Ex3(吴恩达课后习题)Multi-class Classification and Neural Networks

目录 1. Multi-class Classification 1.1 Dataset 1.2 Visualizing the data 1.3 Vectorizing Logistic Regression 1.3.1 Vectorizing the cost function(no regularization) 1.3.2 Vectorizing the gradient(no regularization&#…

【ESP-IDF】如何安装ESP-IDF?

【ESP-IDF】如何安装ESP-IDF?Windows命令行安装ESP-IDFVs Code 图形IDE首先参考这篇视频:https://www.bilibili.com/blackboard/webplayer/embed-whitelist-other.html?aid520120377&bvidBV1hM411k7zz&cid888070526&page1本篇教程以Windows…

vue2路由守卫

全局前置_路由守卫 以前古代有一个职称叫御前侍卫:保护君王的安全,而路由守卫就是保护路由的安全(权限) 就是在Home组件中,我们需要先校验内容中的school是否满足要求,才能展示组件,否则不展示…

SpringBoot项目中遇到的订单支付超时未支付关闭订单的解决方案

1、扫表轮循 定时任务 > 获取数据 > 数据层 > 筛选出过期的数据 > 批量关闭超时订单 优点:实现简单、适用于小项目、数据量比较少 缺点:订单量过大的时候查询和修改数据库压力大、服务器内存消耗大、IO瓶颈 2、Redis懒删除 用户获取订单信…

java SSM选房管理系统idea开发mysql数据库java编程计算机网页源码maven项目

一、源码特点 SSM选房管理系统是一套完善的完整医院类型系统,结合SSM(SpringSpringMVCMyBatis)框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系…

Twitter的推荐系统开源了,Twitter的推荐系统是什么样的呢?Twitter推荐系统的架构说明

Twitter的推荐系统开源了,Twitter的推荐系统是什么样的呢?Twitter推荐系统的架构说明01. Twitter的推荐系统是什么样的?02. Candidate Sources2.1 In-Network Source2.2 Out-of-Network Sources03. Ranking04. Heuristics, Filters, and Prod…

VR虚拟核电设备拆除模拟培训降低风险

核电站设备拆除是一项高危、复杂的任务,因此进行安全、有效的培训至关重要。为此,将VR虚拟现实技术应用于核电厂中,通过100%模拟还原真实的拆除操作场景,广泛应用到核电厂展示、巡检和拆除等环节中,极大提高了生产效率…