日期:2014-05-16  浏览次数:20474 次

js语法看不懂
var T = {};
声明一个变量,等于{}表示什么意思??
var M = navigator.userAgent.indexOf("MSIE") != -1 && !window.opera;
var V = (document.compatMode == "BackCompat");
M和V代表什么意思,在后续代码中有什么作用??

------解决方案--------------------
console.log(typeof T === 'object'); // true
console.log('this browser is '+(M?'IE':'non-IE'));
console.log('this browser version is IE5.5? '+V))
------解决方案--------------------
{} 是对象字面量
------解决方案--------------------
1.{}是js里面配置对象的写法,返回一个对象,可以在大括号中为对象增加属性;
如:var obj={name:'test',value:1};
等价于
var obj=new Object();obj.name='test';obj.value=1;
2.从给M和V赋的值看,都是bool变量,是true还是false这点代码上没法判断,自己从上下文中判断吧
------解决方案--------------------
{}; object 

看看 json 就知道了 var obj={};
var arr =[]; // 数组

M 是一个bool 值 浏览器不是IE 同时不是opera 返回true
var M = navigator.userAgent.indexOf("MSIE") != -1 && !window.opera;
navigator.userAgent.indexOf("MSIE") != -1 不是IE
&& (同时) 无 window.opera (浏览器不是opera) 
// bool 值 是否标准兼容模式关闭
var V = (document.compatMode == "BackCompat");

document.compatMode,可以用来判断当前页面采用的渲染方式。下面官方文档的说明:
BackCompat:标准兼容模式关闭。
CSS1Compat:标准兼容模式开启。