关于js的知识,求助

zzmjj 2013-07-04 12:58:52


if(!document.all&&document.getElementById)

这个(!document.all&&document.getElementById)的document.getElementById代表什么

以前都是getElementById()这么用,不加括号代表什么

这个条件语句应该怎么理解



if (!("a" in window))
{
var a = 1;
}
alert(a);

var a = 1,
b = function a(x)
{
x && a(--x);
};
alert(a);
关于这段代码

"a" in window这个的意思是a在全局变量中?

为什么第一次弹出的a是一个函数?
...全文
325 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
ftiger 2013-07-09
  • 打赏
  • 举报
回复
引用 16 楼 u011276301 的回复:
[quote=引用 14 楼 ftiger 的回复:] if(!document.all&&document.getElementById) !document.all如果 document里有一个all对象 document.getElementById 如果document里有一个getElementById 对象 参考代码

var a= {};
alert(a.b);
a.b=funciton(s){alert(s)};
alert(a.b);
alert(a.b("test"));
这代码不好使[/quote] funciton 打错 应为function
zzmjj 2013-07-09
  • 打赏
  • 举报
回复
引用 14 楼 ftiger 的回复:
if(!document.all&&document.getElementById) !document.all如果 document里有一个all对象 document.getElementById 如果document里有一个getElementById 对象 参考代码

var a= {};
alert(a.b);
a.b=funciton(s){alert(s)};
alert(a.b);
alert(a.b("test"));
这代码不好使
泡泡鱼_ 2013-07-09
  • 打赏
  • 举报
回复
if(!document.all&&document.getElementById) 这个(!document.all&&document.getElementById)的document.getElementById代表什么 以前都是getElementById()这么用,不加括号代表什么 这个条件语句应该怎么理解 Re: 用来判断运行环境的,因为document.all是IE独有的东东,所以!document.all为真时即表示不是在IE浏览器的环境下 这里的all和getElementById都是作为属性来使用的,getElementById加了()是当方法来使用了 至于第二个问题,估计是因为IE下预编译的问题吧。拎不清,就不误人子弟了
vnvlyp 2013-07-08
  • 打赏
  • 举报
回复
不过IE感觉都奇葩。

var b=function a(x)
{
  return x?x*a(x-1):1;
}
比如这种形式定义的,貌似只有IE中a才是全局的,Chrome和Maxthon都不能直接访问a。 所以可能IE8中第一次会alert说a是下面那个函数。 不过话说这是两端分开的代码吧。。LZ怎么硬是要合在一起。。
vnvlyp 2013-07-08
  • 打赏
  • 举报
回复
引用 9 楼 u011276301 的回复:
IE8 第一次弹出
function a(x)
	{
		x && a(--x);
	};
第二次弹出1
木有IE8,但是IE9和Chrome Maxthon都不是这样的。。 IE8太与众不同。。
ftiger 2013-07-08
  • 打赏
  • 举报
回复
if(!document.all&&document.getElementById) !document.all如果 document里有一个all对象 document.getElementById 如果document里有一个getElementById 对象 参考代码

var a= {};
alert(a.b);
a.b=funciton(s){alert(s)};
alert(a.b);
alert(a.b("test"));
zzmjj 2013-07-08
  • 打赏
  • 举报
回复
document.getElementById方法引用 这是什么意思
zzmjj 2013-07-08
  • 打赏
  • 举报
回复
引用 11 楼 vnvlyp 的回复:
不过IE感觉都奇葩。

var b=function a(x)
{
  return x?x*a(x-1):1;
}
比如这种形式定义的,貌似只有IE中a才是全局的,Chrome和Maxthon都不能直接访问a。 所以可能IE8中第一次会alert说a是下面那个函数。 不过话说这是两端分开的代码吧。。LZ怎么硬是要合在一起。。
测试起来突然产生我无法理解得效果,所以就想问问,我知道是浏览器的问题,谢了
zzmjj 2013-07-07
  • 打赏
  • 举报
回复
引用 8 楼 vnvlyp 的回复:
[quote=引用 7 楼 u011276301 的回复:] [quote=引用 5 楼 vnvlyp 的回复:] [quote=引用 3 楼 qq1145174853 的回复:] "a" in window 是判断 window 对象中 是不是有一个 “a” 的 属性存在,按理说没定义的话应该是不存在的,但是我试了下,每次alert("a" in window)都会为true,不知道什么原因
如果你只写alert("a" in window)这一句应该是返回false的吧?[/quote]我这里第一次弹出的是函数[/quote] 你用的什么浏览器啊。。应该是浏览器实现机制不一样吧。。[/quote]IE8 第一次弹出
function a(x)
	{
		x && a(--x);
	};
第二次弹出1
vnvlyp 2013-07-07
  • 打赏
  • 举报
回复
引用 7 楼 u011276301 的回复:
[quote=引用 5 楼 vnvlyp 的回复:] [quote=引用 3 楼 qq1145174853 的回复:] "a" in window 是判断 window 对象中 是不是有一个 “a” 的 属性存在,按理说没定义的话应该是不存在的,但是我试了下,每次alert("a" in window)都会为true,不知道什么原因
如果你只写alert("a" in window)这一句应该是返回false的吧?[/quote]我这里第一次弹出的是函数[/quote] 你用的什么浏览器啊。。应该是浏览器实现机制不一样吧。。
zzmjj 2013-07-07
  • 打赏
  • 举报
回复
引用 5 楼 vnvlyp 的回复:
[quote=引用 3 楼 qq1145174853 的回复:] "a" in window 是判断 window 对象中 是不是有一个 “a” 的 属性存在,按理说没定义的话应该是不存在的,但是我试了下,每次alert("a" in window)都会为true,不知道什么原因
如果你只写alert("a" in window)这一句应该是返回false的吧?[/quote]我这里第一次弹出的是函数
zzmjj 2013-07-07
  • 打赏
  • 举报
回复
引用 1 楼 weilimicrver 的回复:
document.getElementById方法引用 document.getElementById("xx")执行此方法
方法引用是什么?
vnvlyp 2013-07-05
  • 打赏
  • 举报
回复
引用 3 楼 qq1145174853 的回复:
"a" in window 是判断 window 对象中 是不是有一个 “a” 的 属性存在,按理说没定义的话应该是不存在的,但是我试了下,每次alert("a" in window)都会为true,不知道什么原因
如果你只写alert("a" in window)这一句应该是返回false的吧?
vnvlyp 2013-07-05
  • 打赏
  • 举报
回复
第一次弹出的a是undefined,第二次是1吧。 怎么第一次是个函数?
lkq_david 2013-07-04
  • 打赏
  • 举报
回复
"a" in window 是判断 window 对象中 是不是有一个 “a” 的 属性存在,按理说没定义的话应该是不存在的,但是我试了下,每次alert("a" in window)都会为true,不知道什么原因
Acesidonu 2013-07-04
  • 打赏
  • 举报
回复
不同浏览器的实现不一样。
JavaScript_R 2013-07-04
  • 打赏
  • 举报
回复
document.getElementById方法引用 document.getElementById("xx")执行此方法

87,991

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧