请问高手:这句话怎解? window.frames["frmMain"].Ok && window.frames["frmMain"].Ok()

eduyu 2008-02-28 09:32:22
据我所知,js的函数也是对象,那么定义了Ok变量,似乎不能再定义Ok()函数了,否则就覆盖了。
function Ok()
{
if ( window.frames["frmMain"].Ok && window.frames["frmMain"].Ok() )
Cancel() ;
}

本句话出自fckeditor 2.2
...全文
1948 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
越过越咸 2010-09-15
  • 打赏
  • 举报
回复
.frames
eduyu 2008-03-01
  • 打赏
  • 举报
回复
让我郁闷的是明明是存在的方法,却不能调用,导致我程序出错。
这是Js Engine的bug?
[img=http://iamduyu.googlepages.com/fckeditor_bug.jpg]http://iamduyu.googlepages.com/fckeditor_bug.jpg[/img]
蒋晟 2008-02-29
  • 打赏
  • 举报
回复
The value of window.frames["frmMain"].Ok is a function object if the OK function is defined. The value of window.frames["frmMain"].Ok() is the return value of the function if the OK function is defined.
jameshooo 2008-02-29
  • 打赏
  • 举报
回复
typeof(window.frames["frmMain"].Ok) == "function" 这样可以判断Ok是不是函数
  • 打赏
  • 举报
回复
if ( window.frames["frmMain"].Ok && window.frames["frmMain"].Ok() )

--
window.frames["frmMain"].Ok 是一个方法 也可以说是框架窗全局变量

window.frames["frmMain"].Ok() 是方法的返回值
  • 打赏
  • 举报
回复
window.frames["frmMain"].Ok是获取该也面下的框架中窗体的全局变量
gzdiablo 2008-02-29
  • 打赏
  • 举报
回复
说实在FCKeditor这么写不是太保险
他的目的是判断frame frmMain中 是否有Ok这个方法 如果有 判断OK方法的返回值
if(window.frames["frmMain"].Ok && window.frames["frmMain"].Ok())

这样写只能判断Ok是否存在而不能保证他是一个function 所以可能导致后面的Ok()出错.
最好是写成
if(typeof(window.frames["frmMain"].Ok)=="function" && window.frames["frmMain"].Ok())
  • 打赏
  • 举报
回复
嘿嘿..
xiaojing7 2008-02-29
  • 打赏
  • 举报
回复
顶1楼的
tantaiyizu 2008-02-28
  • 打赏
  • 举报
回复
if ( window.frames["frmMain"].Ok && window.frames["frmMain"].Ok() )

--
window.frames["frmMain"].Ok 是一个方法

window.frames["frmMain"].Ok() 是方法的返回值



87,996

社区成员

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

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