zoukankan      html  css  js  c++  java
  • 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报错
      }())
  • 相关阅读:
    学WPF (1 of n)干啥都有第一次
    程序启动时显示Flash窗体(C#)
    对象序列化后直接获取byte[]的方法
    工程管理(1 of n): 建立用于管理代码开发的注释标记
    发现Visual Studio隐含的大礼包漂亮的Visual Studio图像库
    C# Hello World
    更人性化地控制用户输入(1 of n)
    快手导航 计算机软件网址导航 时空地图TimeGIS
    中国图书馆图书分类法(Chinese Library Classification CLC)的XML文档生成 时空地图TimeGIS
    快手软件 v2.5 发布 时空地图TimeGIS
  • 原文地址:https://www.cnblogs.com/jjq-exchange/p/10105411.html
Copyright © 2011-2022 走看看