首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

一路腾讯js面试题

2012-10-16 
一道腾讯js面试题?题目如下:??f function() {return true} g function() {return false} (functio

一道腾讯js面试题

?

题目如下:

?

?

f = function() {return true;}; g = function() {return false;}; (function() {    if (g() && [] == ![]) {       f = function f() {return false;};       function g() {return true;}    } })(); alert(f()); 
?

?

?

?

没有问题的浏览器会返回:false

?

Firefox不会执行到if条件内部,返回:true

?

IE会执行到if条件内部(但把if内部的f作为局部变量处理了),最后返回:true

?

[转自:http://hi.baidu.com/xiaogui2go/blog/item/4b966b1741659d1ec93d6de0.html]

?

:针对IE,文章最后提到“IE会执行到if条件内部(但把if内部的f作为局部变量处理了),最后返回:true”,括号中那句描述容易让人产生误解:只有if内部的f会最做为局部变量处理。实际上,只要是在函数内部定义的变量,即使没有加var修饰符,也会作为该函数的局部变量。这点与其他非IE浏览器表现不一样。

?

热点排行
Bad Request.