码迷,mamicode.com
首页 > Web开发 > 详细

js之global 对象 方法

时间:2018-12-12 00:35:40      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:efi   作用域   console   win   OLE   not   err   http   col   

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报错
  }())

 

js之global 对象 方法

标签:efi   作用域   console   win   OLE   not   err   http   col   

原文地址:https://www.cnblogs.com/jjq-exchange/p/10105411.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!