一道笔试题,作用域问题

var a=1;

function fn(){


var a=22; 

var e=eval; 

e('console.log(a)');

fn(); //结果为1


var a=1;

function fn(){


var a=22; 

eval('console.log(a)');

fn(); //结果为22


请指教~


ITMISS
浏览 542回答 1
1回答

有只小跳蛙

ECMAScript 5将eval的作用域分为两种,直接调用时是local,间接调用是global
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript