首页 > 编程知识 正文

html面试题,事业单位面试真题及解析

时间:2023-05-06 15:20:30 阅读:131598 作者:3831

1、预分析(1)变量为function foo ) { var a=1; 控制台. log (a; //1控制台. log (b );//未定义var b=2; (foo ); 在代码执行阶段赋值,如范围内的变量、函数在升级声明后先声明等

js是这样分析的

function foo () { var a; var b; a=1; 控制台. log (a; //1控制台. log (b );//未定义b=2; (foo ); )2)看看变量升级和函数升级的顺序规则:

1 .变量声明、函数声明都被提升到作用域的首位

2 .同名时,优先顺序为变量赋值函数声明变量声明

//代码段1function foo () { var a; 函数({ } console.log ) ) a; (foo ); //没有赋值操作,值为a ()//代码段2function foo ) ) { var a=1; 函数({ } console.log ) ) a; (foo ); //有赋值操作,值为1,所以如果变量有赋值,则优先顺序排在前面

举个栗子,num的值为?

注意varfoo=function(x,y )//foo被指定了返回x-y; }functionfoo(x,y ) { return x y; } varnum=foo (1,2 ); num的值为-1

(3)形式参与实参

形状是局部变量,如果与实参不统一,则访问时的值为undefined

函数fn (a,c )控制台. log ) a; //undefined } fn ()混合时functionfn1(a,c ) { console.log(a ) a ); //undefined functiona ({ } vara=123; 控制台. log (a; //undefined function a () {} 123最后是123console.log(c ); //undefinedfunctionc ({ } functiona ) }; if(a==8) { var d=678; }控制台. log (d;//未定义控制台. log (b; //undefined其中b是变量,下一步是赋值var b=function; 控制台. log (b ); //undefinedfunctionb ({ } function c ) }; (fn1 ); 这里还有一个问题。 里面的条件被判断为假。 请您指导d的值是如何取消定义的

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。