文章目录

  • 🌟前言
  • 🌟内置
  • 🌟顶层
  • 🌟内置顶层函数
  • 🌟 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!

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