js之global 對象 方法


global 作為js的全局對象,但其是無法直接訪問的,但是在瀏覽器中瀏覽器是將這個對象當做是window對象的一部分,即Date 等Global的屬性使用window.Date 可訪問到

 

1.url 編碼方法 ( encodeURL()  和 encodeURLComponent() )

  1) encodeURI(); 用於整個url 且改方法不會對特殊字符進行編碼

1     let url = "http://www.test.com/test one.hml#frist";     
2          console.log(encodeURI(url)); 
3          輸出 : //http://www.test.com/test%20one.hml#frist   
、http%3A%2F%2Fwww.test.com%2Ftest%20one.hml%23frist

 

  2)encodeURIComponent()  用於url的某一個片段,且會對任何非標准字符進行編碼

1  let url = "http://www.test.com/test one.hml#frist";     
2   console.log(encodeURIComponent(url));
3   輸出 : http%3A%2F%2Fwww.test.com%2Ftest%20one.hml%23frist 

 

2. urI 解碼方法 ( decodeURI() 和 decodeURIComponent())

   1) decodeURI(str) 對應的解碼 是解encodeURI(str) 的反碼

   2)decodeURIComponent() 對應解 encodeURIComponent(); 可以解碼任何特殊字符的編碼

 

3. eval(js-str) 方法 (將js的字符串代碼解析為可執行的js代碼,類似於js的解析器);

  使用eval()時,執行的代碼塊被認為是所作用的環境或者作用域的一部分,常用來動態插入js到指定作用域,其中在eval()中創建的任何變量以及函數都不會被提升,因為這行聲明是在需要執行的eval()字符串之中,只有執行到eval()時才創建

console.log('123');  //可直接在js中打印

eval('console.log("test")'); 該字符串通過eval()解析也可直接在js中運行打印

--------------------------------分割線------------------------------

test() ; //Uncaught ReferenceError: test is not defined 因test函數在字符串中還未被eval()解析所以不會出現函數提升

eval("function test(){
  console.log('test')
}");

在嚴格模式下 ‘use strict’;
直接給 eval = 8 賦值將會返回報錯
  即
  (function(){
    'use strict';
     eval('var a = 123');
     console.log(a)//此時a報錯
  }())

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM