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

一、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};

发布了260 篇原创文章 · 获赞 890 · 访问量 121万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 精致技术 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览