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报错 }())
原文地址:https://www.cnblogs.com/jjq-exchange/p/10105411.html
时间: 2024-10-12 17:03:20