? : (3元运算符)
格式test ? statement1 : statement2
test 布尔表达式. 
statement1 当test为真时,返回值为statement1,可以是复合语句
statement2 当test为假时,返回值为statement2,可以是复合语句

解决方案 »

  1.   

    evt = (evt) 这个什么意思,为什么加个括号
      

  2.   

    例如function foo(evt) {
     var evt = (evt) ? evt : ((window.event) ? window.event : ""); 
    //TO DO
    }传参数foo(event)//IE不需要传参数这个参数的意思是要兼容Mozilla,在IE中window.event中含有event了,而Mozilla中需要显式的传一个event参数给函数。而这个代码就可以写成
     var evt = (evt) ? evt : window.event;
    event的作用很多,比如按下时onkeydown得到键盘的code.
      

  3.   

    这段代码是为了能在IE和FF下通用取得event对象的。
    window.event是IE下的写法
    FF下不能直接取,只能从参数传过来,evt就是event对象,如:onclick="foo(event)"