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

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

🌟前言

哈喽小伙伴们,本文将收录在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!


目录
相关文章
|
12月前
|
算法 测试技术 定位技术
数据结构与算法——DFS(深度优先搜索)
数据结构与算法——DFS(深度优先搜索)
|
算法 C语言
算法竞赛入门【码蹄集新手村600题】(MT1080-1100)C语言(二)
算法竞赛入门【码蹄集新手村600题】(MT1080-1100)C语言(二)
221 0
|
JSON Java 数据格式
java校验json的格式是否符合要求
java校验json的格式是否符合要求 在日常开发过程中,会有这样的需求,校验某个json是否是我们想要的数据格式,json-schema-validator使用
1024 0
|
Shell Python
Python基础教程(第3版)中文版 第11章 文件(笔记)
Python基础教程(第3版)中文版 第11章 文件(笔记)
|
12月前
|
监控 小程序 JavaScript
讯飞-微信小程序-语音助手
讯飞-微信小程序-语音助手
343 1
讯飞-微信小程序-语音助手
|
XML Android开发 数据格式
android中两个Activity同时设定了intent-filter的category为android.intent.category.LAUNCHER,会发生什么情况?
本文通过案例分析了在Android中当两个Activity都设置了`android.intent.category.LAUNCHER`类别时,会导致它们同时在应用启动器的"所有应用"页面显示为不同的启动入口。
369 2
android中两个Activity同时设定了intent-filter的category为android.intent.category.LAUNCHER,会发生什么情况?
|
JSON 前端开发 Java
SpringBoot - 优雅解决 SpringBoot 在 JDK8 中 LocalDateTime(反)序列化问题
SpringBoot - 优雅解决 SpringBoot 在 JDK8 中 LocalDateTime(反)序列化问题
1045 0
|
前端开发
HTML网页作业代码(仿写商城首页、学校官网网页等、源码可直接运行)
这篇文章提供了HTML网页作业的完整代码,包括仿写商城首页和学校官网网页的源码,以及如何运行和项目结构等详细信息。
HTML网页作业代码(仿写商城首页、学校官网网页等、源码可直接运行)
|
机器学习/深度学习 算法 调度
【博士每天一篇文献-算法】Neurogenesis Dynamics-inspired Spiking Neural Network Training Acceleration
NDSNN(Neurogenesis Dynamics-inspired Spiking Neural Network)是一种受神经发生动态启发的脉冲神经网络训练加速框架,通过动态稀疏性训练和新的丢弃与生长策略,有效减少神经元连接数量,降低训练内存占用并提高效率,同时保持高准确性。
177 3
|
存储 传感器 人工智能
AliOS Things 系统架构介绍(一)
AliOS Things 系统架构介绍(一)
651 0