JavaScript全局属性与方法详解:类型判断、数值转换与URL编码

作者:工具松鼠时间:2026-10-23 19:20:49浏览:138

本文深入解析JavaScript中的全局属性与方法。涵盖Infinity、NaN等全局属性,以及typeof类型判断。重点讲解字符串与数字的相互转换方法,包括toString、parseInt、parseFloat,并介绍encodeURI与decodeURI在解决中文URL乱码中的应用。

JavaScript全局属性与方法概述

本文将补充JavaScript知识体系的最后一部分,重点讲解JavaScript中的全局属性与全局方法(函数)。

JavaScript全局属性详解

首先介绍全局属性。


 // 属性
 // Infinity 代表正的无穷大的数值。
 // 在Javascript中,超出 1.7976931348623157E+103088 的数值即为Infinity,小于 -1.7976931348623157E+103088 的数值为无穷小。
 var num1 = 1.7976931348623157E+103088;
 var num2 = -1.7976931348623157E+103088;
 console.log(num1);
 console.log(num2);

 // NaN  指示某个值是不是数字值。
 console.log(Number("abc"));
 // undefined 指示未定义的值。
 var a;
 console.log(a);

JavaScript全局方法应用

接着介绍全局方法。


 // 方法

 // encodeURI() 把字符串编码为 URI。
 // encodeURIComponent() 把字符串编码为 URI 组件。
 var str="我是一个中国人";
 var str3=encodeURI(str);
 console.log(str3);//%E6%88%91%E6%98%AF%E4%B8%80%E4%B8%AA%E4%B8%AD%E5%9B%BD%E4%BA%BA
 

 // decodeURI() 解码某个编码的 URI。
 var str4="file:///D:/test/0610/07JavaScript%E7%9A%84%E5%85%A8%E5%B1%80%E5%B1%9E%E6%80%A7%E5%92%8C%E6%96%B9%E6%B3%95.html";
 console.log(decodeURI(str4));
 // decodeURIComponent() 解码一个编码的 URI 组件。

 // escape() 对字符串进行编码。 
 var str5=escape(str);
 console.log(str5);
 // unescape() 对由 escape() 编码的字符串进行解码。
 console.log(unescape(str5));

 // eval() 计算 JavaScript 字符串,并把它作为脚本代码来执行。
 var str1 = "1";
 var str2 = "2";
 console.log(Number(str1) + Number(str2));
 console.log(eval(str1+"+"+str2));

 // isFinite() 检查某个值是否为 有穷大 的数。 NaN 正负无穷 false
 console.log(isFinite(num1));
 // isNaN() 检查某个值是否是数字。
 console.log(isNaN("abc"));

 // Number() 把对象的值转换为数字。
 console.log(Number("123"));
 console.log(Number(true));
 // parseFloat() 解析一个字符串并返回一个浮点数。 小数
 console.log(Number("123a"));//NaN
 console.log(parseFloat("123.8a"));
 // parseInt() 解析一个字符串并返回一个整数。
 console.log(parseInt("123.8a"));//123 解析数字 取整数部分
 console.log(parseInt("a123.8"));//NaN
 // String() 把对象的值转换为字符串。
 var obj={"name":"张三"}
 console.log(String(obj));//[object Object]

核心要点在于掌握几个关键全局方法的实际应用,特别是数据类型的转换机制,以及编码和解码方法的使用技巧,后者常用于解决包含中文路径的URL出现乱码的问题。

附录内容如下:

基础知识点补充:类型判断与数值转换

以下整理了一些实用且基础的知识要点,主要源自对权威指南的学习笔记:

typeof运算符返回字符串类型的结果,共有8种可能的返回值:"number"、"string"、"boolean"、"object"、"function"、"undefined"、"symbol"(ES6新增)以及宿主对象类型。

假值包括:false、null、undefined、0、-0、NaN以及空字符串""。

真值是指除了上述假值以外的所有其他值。

对象类型包括:除了字符串字面量、数字字面量、true、false、null和undefined之外的所有值,均被视为对象。

将数字a转换为字符串的方法如下:

  • a.toString(n),其中n表示进制数。
  • a.toFixed(i)和a.toPrecision(j),i代表小数位数,j代表要显示的总位数。
  • a.toExponential(i),用于以科学计数法形式表示数字。

字符串s 转数字:转换失败返回NaN,忽略前置的空格,尽可能多的转换数字,忽略后面的非数字内容,其中'0X'、'0x'开头的则把它当着16进制数来转换

  • parseInt(s, n),其中n为可选参数,表示将字符串s视为n进制数并转换为十进制数。
  • parseFloat(s),用于将字符串转换为浮点数。

总结:

至此,关于JavaScript中全局属性与方法的解析介绍完毕。如需了解更多相关内容,请搜索本站过往文章或继续浏览后续相关文章,感谢大家的支持!

作者最新文章