js 多元运算 运算原理

小小丁灬 发布于 2016/09/01 16:27
阅读 293
收藏 0
c.query = function(a) {//a---->#date  或者  #aaa #abc
		var e, b, h, i, j;
		a = c.trim(a).split(" ");
		
		b = d[f](a[0].substr(1));//document.getElementById("date");
		
		return  b ? a[1] ?  /^\./.test(a[1]) ? 
				(       
						i = a[1].substr(1), 
						j = new RegExp("\\b" + i + "\\b"), 
						e = [], 
						h = d.getElementsByClassName ? b.getElementsByClassName(i) : b["getElementsByTagName"]("*"), 
						c.each(h, function(a, b) {
			                          j.test(b.className) && e.push(b);
		               }), 
		               e[0] ? e : ""
		          ) : (e = b["getElementsByTagName"](a[1]), e[0] ? b["getElementsByTagName"](a[1]) : "") : b : void 0;
	},


这个是laydate组件中的一个方法,知道最后返回的是对象,但是不明白return 后面那些运算是怎么算的

() ? () ? ()? () :():()

怎么确定最后的结果?


加载中
0
您的好友
您的好友

() ? () ? ()? () :():():()

你漏了一个了 

一个是这样的  a?b:c 

两个连起来就是这样的 d?(a?b:c):e   去掉括号就是 d?a?b:c:d 

lz的代码里的那个是三个连一起的 而且还没有括号  应该是混淆后的结果  

小小丁灬
厉害,谢谢
返回顶部
顶部