专栏首页Super 前端typeof运算符及实现jquery中的addClass,removeClass,hasClass

typeof运算符及实现jquery中的addClass,removeClass,hasClass

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://ligang.blog.csdn.net/article/details/41833443

一、JavaScript有五种基本的数据类型:Undefined、null、String、Number、Boolean,这五种数据类型都可以用typeof来检测

1. Undefined类型:已经声明而未赋值的变量的值为”undefined”[实际上未声明的变量用typeof检测也会返回undefined] 2. Null类型:表示空的对象指针,相当于对象占位符,typeof返回object。如果返回为对象,却找不到这个对象时,通常会返回null 3. Boolean类型:只有两个字面值,true和false。true不一定等于1,false也不一定等于0;同时注意这两个字面值是区分大小写的,也就是说True和False都不是Boolean值。Javascript所有类型都可以通过Boolean()方法来转换成Boolean值 4. Number类型:数字的进制表示及科学计数法表示。 isFinite():判断是否为有限数值,如果是则返回true,否则返回false。 特殊数值::NaN (not a number) 即表示不是一个数字,则isNaN判断不是数字时返回true。 NaN不能用于计算alert(NaN == NaN) //返回false 可用方法:isNaN(),判断是否为”不是数字”,不是数字则返回true,是数字则返回false。 5. String类型:用单引号或双引号表示。字符串起始字符的位置为0,最后一个字符的位置为字符串长度减1。其他数据类型可以使用toString()、String()方法转换成字符串类型。

二、javascript typeof运算符

typeof操作符,返回“表达式”的数据类型的字符串。 typeof是一个操作符(非函数),所以typeof后面可以接括号[如:typeof(表达式)]也可以不接[如:typeof 表达式] typeof返回的常见字符串:

“undefined”

表示这个值未定义,例如: var i;

“boolean”

表示这个值是布尔值

“string”

表示这个值是字符串

“number”

表示这个值是数字

“object”

表示这个值是对象或null,可理解为null是对象的占位符

“function”

表示这个值是函数

三、JavaScript实现jQuery中的addClass()、removeClass()、hasClass()

</pre><pre name="code" class="javascript">function hasClass(ele,cls) {
	return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}
function addClass(ele,cls) {
	if (!this.hasClass(ele,cls)) 
		ele.className += " "+cls;
}
function removeClass(ele,cls) {
	if (hasClass(ele,cls)) {
		var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
		ele.className=ele.className.replace(reg,' ');
	}
}
//call the functions
addClass(document.getElementById(“test”), “test”);
removeClass(document.getElementById(“test”), “test”)
if(hasClass(document.getElementById(“test”), “test”)){//do something};

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 重磅:LayaAir2.2将引擎源码全面切换至TypeScript,支持WebGL2.0,并增加大量3D实用功能

    今天,引擎2.2.0 beta版本终于与大家见面了。从此以后,LayaAir引擎源码从ActionScript3全面转向TypeScript,引擎运行的JS全面...

    Layabox Charley
  • canScrollHorizontally()/canScrollVertically() 无法获取到正确执行的解决方案

    使用一个 RecyclerView 实现了一个类似 Tab 效果,当这个 Tab 可以滑动时,显示最右侧的三角按钮,否则隐藏这个按钮。效果如图

    阳仔
  • Android WebView 安全问题汇总

    在使用WebView开发时注入JS对象,当App具有读写SDCARD权限,那么注入的JS对象就可以通过反射机制获取到Java对象Runtime,并调用静态方法来...

    阳仔
  • canvas的api总结

    Canvas是 HTML5 新增的,一个可以使用脚本(通常为JavaScript)在其中绘制图像的 HTML 元素。它可以用来制作

    前端老鸟
  • 如何面试前端工程师:GitHub很重要

    我在阿里巴巴的一部分工作内容是面试前端工程师。其实关于面试你可能很有自己的一套,这里我想跟你们分享一下我常用的方法。

    前端老鸟
  • promise源码详解,助力你轻松掌握promise

    在没有出来promise之前,为了拿到函数的回调结果,我们不得不使用callback function,这种代码的维护和理解是相当恶心了! 下面我们来看看这个恶...

    前端老鸟
  • 【进阶1.1webpack的基础概念】

    webpack 本质上是一个打包工具,它会根据代码的内容解析模块依赖,帮助我们把多个模块的代码打包。借用 webpack 官网的图片:

    前端老鸟
  • JS最新基本数据类型:BigInt

    BigInt数据类型的目的是比Number数据类型支持的范围更大的整数值。在对大整数执行数学运算时,以任意精度表示整数的能力尤为重要。使用BigInt,整数溢出...

    前端小智@大迁世界
  • 当你在浏览器中输入“google.com”并回车,会发生什么?

    曾经遇到过的一个最喜欢的面试问题是这样的:你键入'google. com'到一个浏览器地址栏中, 并点击<Enter>, 之后会发生什么呢?

    养码场
  • java小工具-使用springboot-starter启动检查配置是否满足要求

    随着项目不断的迭代,不断的有新的组件加入进来,比如现在项目中就集成了cat,apollo,prometheus,docker,k8s等等 , 随之而来的有一大堆...

    微笑的小小刀

扫码关注云+社区

领取腾讯云代金券