美文网首页
JavaScript 中有两个机制可以“欺骗”词法作用域:eva

JavaScript 中有两个机制可以“欺骗”词法作用域:eva

作者: 海贼王Lorrin | 来源:发表于2022-10-21 16:02 被阅读0次

    非严格模式下可使用!!!

    1、eval(‘代码块’);

    function foo(str) {

    //"use strict";

    eval( str );

    console.log( a ); // ReferenceError: a is not defined

    }

    foo( "var a = 2" );

    2、with

    var obj = {

    a: 1,

    b: 2,

    c: 3

    };

    // 单调乏味的重复 "obj"

    obj.a = 2;

    obj.b = 3;

    obj.c = 4;

    // 简单的快捷方式

    with (obj) {

    a = 3;

    b = 4;

    c = 5;

    }

    不推荐使用 eval(..) 和 with 的原因是会被严格模式所影响(限

    制)。with 被完全禁止,而在保留核心功能的前提下,间接或非安全地使用

    eval(..) 也被禁止了。

    相关文章

      网友评论

          本文标题:JavaScript 中有两个机制可以“欺骗”词法作用域:eva

          本文链接:https://www.haomeiwen.com/subject/jqdmzrtx.html