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