js之内置对象

时间:2021-12-06 12:51:02

内置对象(Global和Math):JS程序在执行之前就已经存在,开发人员不必再取实例化的内置对象

下面对Global对象进行介绍一下,Math用的不多就不做介绍了

1、Global对象

Global对象(全局对象)是一个特别的对象,因为此对象不存在。在JS中不属于任何对象的属性和方法,都属于他。所以并不存在全局变量和全局函数(都是Global对象的属性和方法)

PS:在 JS 中没有定义怎么调用Global对象,所以Gloabl是取不到属性和方法的。(但是Web浏览器将Global对象 作为 window对象的一部分加以 实现(所以 我们就以为  在 全局 执行环境下的 变量和函数都是  window下面,其实是Global对象的,只不过是将 Global 内置在 window 里面了))

2、Global对象的常用方法

1》URI编码方法

只要是对 链接 进行编码(因为 发送到 浏览器,如果含有中文字符或特殊字符(比如:冒号、问号、正斜杠等))。将他们  以 特殊的 UTF-8  编码 替换 所有的 无效字符,从而让浏览器 能够 接受和理解

encodeURI():是 不会 将 本身属于自己的 特殊字符进行编码的 ,例如:冒号、正斜杠、问号和#
encodeURIComponent():是将发现的所有的非标准的字符进行编码

 var str='//?shit小小';
alert(encodeURI(str)); ////?shit%E5%B0%8F%E5%B0%8F
alert(encodeURIComponent(str));//%2F%2F%3Fshit%E5%B0%8F%E5%B0%8F

PS:由于encodeURIComponent()编码 比 encodeURI()更彻底,所以 encodeURIComponent()使用 的 频率 更多

这两种编码都有对应的解码的函数:   (主要是用于将解码后的链接显示或者存入数据库中)

decodeURI()  和  decodeURIComponent() 

 alert(decodeURI(encodeURI(str)));  ////?shit小小

2、eval()函数

执行 JS 中 字符串解析器的 作用,,只允许传入一个参数 就是 JS 字符串

 eval('alert("shit")');

 eval('function box (){ return 123}');

 alert(box());

PS:1》eval()方法功能很强大,可以拼接字符串,然后执行JS代码

2》虽然eval()有很强大的功能,但是使用的时候要很严谨,尤其是在用户输入的情况下,因为可能造成代码注入,很危险。

3、HTML方法

html方法就是将 字符串 转换成 HTML代码的方法

js之内置对象

 document.write('123'.link("http://baidu.com"));