[原创]javascript typeof id==='string'?document.getElementById(id):id解释


Posted in Javascript onNovember 02, 2016

一般来说想要理解这段代码,需要掌握如下两个函数

一个是 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; 
   }

具体的可以参考这篇文章:https://3water.com/article/50197.htm

2、表达式1?表达式2:表达式3

这是一个式子;他的运算过程是:先计算表达式1,如果为true,这个式子就取表达式2的运算结果,否则整个式子取值就是表达式3的运算结果,不懂的朋友可以参考这篇文章:https://3water.com/article/64237.htm

在你这个例子中 表达式1是 "string" == typeof id,功能是判断id的数据类型是否为string ,==就是判断是否相等的运算符啊
表达式2是 document.getElementById(id) 获取ID为 参数id的值的html元素
表达式3 就是 id这个变量(一般来说这个变量多为object),如果是对象就不用document.getElementById了,直接就可以使用了。

三水点靠木原创整理,转载请注明出处

Javascript 相关文章推荐
JQuery的Alert消息框插件使用介绍
Oct 09 Javascript
理清apply(),call()的区别和关系
Aug 14 Javascript
自己编写的类似JS的trim方法
Oct 09 Javascript
动态添加删除表格行的js实现代码
Feb 28 Javascript
每天一篇javascript学习小结(面向对象编程)
Nov 20 Javascript
Javascript学习之谈谈JS的全局变量跟局部变量(推荐)
Aug 28 Javascript
HTML5 js实现拖拉上传文件功能
Nov 20 Javascript
JS运动特效之完美运动框架实例分析
Jan 24 Javascript
解决Webpack 热部署检测不到文件变化的问题
Feb 22 Javascript
Javascript 之封装(Package)
Sep 14 Javascript
JS操作Fckeditor的一些常用方法(获取、插入等)
Feb 19 Javascript
微信小程序获取当前时间及星期几的实例代码
Sep 20 Javascript
微信小程序  audio音频播放详解及实例
Nov 02 #Javascript
微信小程序 vidao实现视频播放和弹幕的功能
Nov 02 #Javascript
bootstrap基础知识学习笔记
Nov 02 #Javascript
AngularJS深入探讨scope,继承结构,事件系统和生命周期
Nov 02 #Javascript
Bootstrap table的使用方法
Nov 02 #Javascript
AngularJS指令用法详解
Nov 02 #Javascript
AngularJS表单和输入验证实例
Nov 02 #Javascript
You might like
基于mysql的bbs设计(三)
2006/10/09 PHP
从一个不错的留言本弄的mysql数据库操作类
2007/09/02 PHP
判断是否为指定长度内字符串的php函数
2010/02/16 PHP
php二维数组转成字符串示例
2014/02/17 PHP
PHP中strpos、strstr和stripos、stristr函数分析
2016/06/11 PHP
Laravel基础-关于引入公共文件的两种方式
2019/10/18 PHP
yepnope.js使用详解及示例分享
2014/06/23 Javascript
Javascript实现飞动广告效果的方法
2015/05/25 Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
2015/12/16 Javascript
一览画面点击复选框后获取多个id值的方法
2016/05/30 Javascript
微信小程序登录态控制深入分析
2017/04/12 Javascript
Vue中使用vux的配置详解
2017/05/05 Javascript
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
vue中Npm run build 根据环境传递参数方法来打包不同域名
2018/03/29 Javascript
Element Card 卡片的具体使用
2020/07/26 Javascript
vue npm install 安装某个指定的版本操作
2020/08/11 Javascript
JS页面动态绘图工具SVG,Canvas,VML介简介
2020/10/16 Javascript
[40:19]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.18
2020/12/19 DOTA
python实现登陆知乎获得个人收藏并保存为word文件
2015/03/16 Python
Python OS模块常用函数说明
2015/05/23 Python
python基于隐马尔可夫模型实现中文拼音输入
2016/04/01 Python
Python装饰器限制函数运行时间超时则退出执行
2019/04/09 Python
pytorch实现对输入超过三通道的数据进行训练
2020/01/15 Python
opencv 实现特定颜色线条提取与定位操作
2020/06/02 Python
菲律宾购物网站:Lazada菲律宾
2018/04/05 全球购物
个人党性剖析材料
2014/02/03 职场文书
《数星星的孩子》教学反思
2014/04/11 职场文书
美术社团活动总结
2014/06/27 职场文书
应届本科毕业生求职信
2014/07/23 职场文书
银行奉献演讲稿
2014/09/16 职场文书
2014年房产经纪人工作总结
2014/12/08 职场文书
信息技术远程培训心得体会
2016/01/09 职场文书
SQL实现LeetCode(197.上升温度)
2021/08/07 MySQL
Python socket如何解析HTTP请求内容
2022/02/12 Python
MySQL之MyISAM存储引擎的非聚簇索引详解
2022/03/03 MySQL
游戏《我的世界》澄清Xbox版暂无计划加入光追
2022/04/03 其他游戏