首页 > 代码库 > javascript那些事儿(二)Global对象用法
javascript那些事儿(二)Global对象用法
1、Global对象: 所有在全局作用域内定义的属性和方法,都是Global对象的属性
2、Global对象不直接使用,并且不能用new 运算符创建,它在 Scripting 引擎被初始化时创建,并立即使其方法和属性可用。
例如:isNaN,isFinite(),parseInt(),parseFloat()都是Global对象的方法
下面介绍一下比较重要的几个方法
(1)URI编码解码:encodeURI()\encodeURIComponent(), decodeURI\decodeURIComponent()
encodeURI()和encodeURIComponent()用于对URI(通用资源标识符)进行编码,以便发送给浏览器。
浏览器不能理解和接收一些特殊字符,比如:空格,所以这两个方法用UTF-8编码替换URI中的无效字符以使浏览器能够识别。
encodeURI(): 主要用于整个URI,不会对本身属于URI的特殊字符进行编码,如冒号,正斜杠、问号、井号
encodeURIComponent() : 主要用于对URI中某一段进行编码,会对它发现的任何非标准字符进行编码。
2、Global对象不直接使用,并且不能用new 运算符创建,它在 Scripting 引擎被初始化时创建,并立即使其方法和属性可用。
例如:isNaN,isFinite(),parseInt(),parseFloat()都是Global对象的方法
下面介绍一下比较重要的几个方法
(1)URI编码解码:encodeURI()\encodeURIComponent(), decodeURI\decodeURIComponent()
encodeURI()和encodeURIComponent()用于对URI(通用资源标识符)进行编码,以便发送给浏览器。
浏览器不能理解和接收一些特殊字符,比如:空格,所以这两个方法用UTF-8编码替换URI中的无效字符以使浏览器能够识别。
encodeURI(): 主要用于整个URI,不会对本身属于URI的特殊字符进行编码,如冒号,正斜杠、问号、井号
encodeURIComponent() : 主要用于对URI中某一段进行编码,会对它发现的任何非标准字符进行编码。
var uri = "http://www.baidu.com/aa value#query"; //只有空格被替换 console.log(encodeURI(uri)); //输出:http://www.baidu.com/aa%20value#query,把空格编码成%20 //使用对应的编码替换所有非字母字符 console.log(encodeURIComponent(uri)); //输出: http%3A%2F%2Fwww.baidu.com%2Faa%20value%23query //最佳实践: //encodeURI: 对整个URI使用 //encodeURIComponent(): 对URI后面的字符串使用 // //decodeURI() : 对使用encodeURI编码的字符进行解码 //decodeURIComponent() : 对使用encodeURIComponent编码的字符进行解码 var uri2 = "http://www.baidu.com/aa%20value#query"; console.log(decodeURI(uri2)); //http://www.baidu.com/aa value#query var uri3 = "http%3A%2F%2Fwww.baidu.com%2Faa%20value%23query"; console.log(decodeURI(uri3)); //http%3A%2F%2Fwww.baidu.com%2Faa value%23query console.log(decodeURIComponent(uri3)); //http://www.baidu.com/aa value#query
(2)eval() : 接收一个参数,即javascript字符串,类似于一个ECMAScript解析器:
eval("alert('hello,nodejs')"); //等价于 alert('hello,nodejs'); //在eval()中执行的代码被认为是包含该次调用的执行环境的一部分,被执行的代码与eval语句执行环境具有相同的作用域链 var str = "hello,nodejs"; eval("alert(str)"); // alert("hello,nodejs"); eval("function hello(){alert('hello,world');}"); hello(); //hello,world //严格模式下,在外部访问不到eval()中定义的任何变量或函数,同样,在严格模式下,为eval也会导致错误产生。 "user strict"; eval("var str = 'hello,nodejs';"); alert(str); //错误
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">(3)Global对象属性:undefined,NaN,Infinity,都是Global对象的属性。</span>此外,所有原生类型的构造函数也都是Global对象的属性:Object,Function,Array,Number,Boolean,String.
(4)window对象:在全局作用域中声明的所有变量和函数,都是window对象的属性:
var name = "xiaoming"; function printName(){ alert(window.name); } window.printName(); //'xiaoming'
javascript那些事儿(二)Global对象用法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。