搜索
写经验 领红包
 > 游戏

javascipt基础笔记总结(js里eval干什么的)

导语:JavaScript基础笔记:eval,with,立即调用函数,let,const

javascript基础笔记总结(js里eval干什么的)

eval
function foo(str, a) {eval( str ); // 欺骗!console.log( a, b );}var b = 2;foo( "var b = 3;", 1 ); // 1, 3
with
function foo(obj) {with (obj) {a = 2;}}var o1 = {a: 3};var o2 = {b: 3};foo( o1 );console.log( o1.a ); // 2foo( o2 );console.log( o2.a ); // undefinedconsole.log( a ); // 2 ——a 被泄漏到全局作用域上了!
IIFE
var a = 2;(function IIFE( global ) {var a = 3;console.log( a ); // 3console.log( global.a ); // 2})( window );console.log( a );
let
let j;for (j=0; j<10; j++) {let i = j; // 每个迭代重新绑定!console.log( i );}
const
var foo = true;if (foo) {var a = 2;const b = 3; // 包含在 if 中的块作用域常量a = 3; // 正常 !b = 4; // 错误 !}console.log( a ); // 3console.log( b ); // ReferenceError!

(完)

本文内容由快快网络小思整理编辑!