当前位置:首页 >> 网络编程

JavaScript中的全局属性与方法深入解析

今天来补充JavaScript中的最后一部分内容,JavaScript中的全局属性和方法(函数)。

1.全局属性

 // 属性
 // 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);

2.全局方法

 // 方法

 // 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) //转为浮点数

总结: