javascriptあれらの事(二)Global対象の使用法


1、Globalオブジェクト:グローバルスコープ内で定義される属性と方法は、全てGlobalオブジェクトの属性2、Globalオブジェクトが直接使用されず、new演算子では作成できません.Scripptingエンジンが初期化された時に作成され、直ちにその方法と属性を利用できます.例えば、isNaN、isfinite、parseInt()、parseFloat()は全部Globalオブジェクトの方法です.以下に、重要ないくつかの方法を紹介します.(1)URI符号化復号:encodeURIComponent()、decodecodeURI/decodecodecodecodeURIComonent(一般的なリソース)を符号化します.ブラウザは、例えばスペースなどの特殊文字を理解し受信することができませんので、この2つの方法は、URIの無効な文字をUTF-8符号化して、ブラウザが認識できるようにします.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():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、Funct、ARray、Number、Boolean、String.
(4)windowオブジェクト:グローバルスコープで宣言された変数と関数は、すべてwindowオブジェクトの属性です.
 var name = "xiaoming";

 function printName(){
 	alert(window.name);
 }

 window.printName(); //'xiaoming'