Javascript一些小细节

1.判断class存在

1 $(obj).hasClass('BTCheck_ON')
2 $obj.attr('class')=="BTCheck_ON"

有时我们判断样式存在会写成第二种形式,但是这种写法是有问题的。如果那个DOM元素设置是class="BTCheck_ON MyClass",那上面的结果就是false了。

所以如果判断样式存在就要用第一种。

2.三目表达式

1 var label =typeof json.label=="undefined"?json.label:json.value;
2 var label = json.label||json.value;

有时我习惯性写第一种方式,但很明显第二种更简洁

3.JavaScript CPU和内存

-CPU: 一直有函数在执行

-内存: 划分为堆和栈。

栈是用来存储局部变量的原始值和引用(可以将引用理解为一个内存地址)的,而堆则是存放“引用值”的,和堆相比栈的内存占用很小。

原文地址:https://www.cnblogs.com/lovesong/p/3308248.html