javascript typeof id==='string'?document.getElementById(id):id解释 原创
一般来说想要理解这段代码,需要掌握如下两个函数
一个是 typeof一个就是三元运算符
看完了上面的文章再看下面的就比较好理解了
一般来说常用的函数代码
function $(id){ return typeof id==='string'?document.getElementById(id):id;}
var GetBy = function (id) { return "string" == typeof id ? document.getElementById(id) : id; };
功能都是一样的。
这个函数的作用就是之后用到id选择器可以简写,至于判断的意义就是传入的参数为字符串就返回document.getElementById(id),其他的就返回参数本身,这个只是一个获取页面dom元素的一个简陋版本的函数,还不够完善。
1、这是一段JavaScript代码
$就是一个标示符。 也可以用getID等,如果你的页面中使用了jquery不建议使用$,因为jquery默认使用的就是$
?:是运算符
return "string" == typeof id ? document.getElementById(id) : id;
也可以写成是
if("string" == typeof id ) return document.getElementById(id); else return id;
有人感觉上面的代码,为什么不用{}括起来,因为代码比较短只有一行是不需要{}
如下所示
if("string" == typeof id ) { return document.getElementById(id); } else { return id; }
具体的可以参考这篇文章:http://www.jb51.net/article/50197.htm
2、表达式1?表达式2:表达式3
这是一个式子;他的运算过程是:先计算表达式1,如果为true,这个式子就取表达式2的运算结果,否则整个式子取值就是表达式3的运算结果,不懂的朋友可以参考这篇文章:http://www.jb51.net/article/64237.htm
在你这个例子中 表达式1是 "string" == typeof id,功能是判断id的数据类型是否为string ,==就是判断是否相等的运算符啊
表达式2是 document.getElementById(id) 获取ID为 参数id的值的html元素
表达式3 就是 id这个变量(一般来说这个变量多为object),如果是对象就不用document.getElementById了,直接就可以使用了。
我们原创整理,转载请注明出处