【JavaScript技巧】JS快捷技巧
!! 布尔值快速转换
console.log(!!obj)
&& 与 || 代替 if else
var day = (new Date).getDay() === 0; if (day) { alert('Today is Sunday!'); }; // 运用逻辑与代替if day && alert('Today is Sunday!');
注:
(1)逻辑与:只有在前者为true, 才执行后面的操作
(2)逻辑或:只有在前者为false时才执行后者
(3)dateObject.getDay()返回0(周日)~6(周六)
交换两个变量的值
var a=1, b=2;
a = [b, b=a][0];
NaN 不等于任何值,包括它自身
console.log(NaN == NaN); // false console.log(NaN === NaN); // false
利用script标签保存任意信息
将script标签设置为 type='text' 然后可以在里面保存任意信息,之后可以在JavaScript代码中很方便地获取。
页面代码如下所示:
<script type="text" id="angelaScript"> <h1>这个标题1是不会显示出来的,可以用这种方式保存信息哦!</h1> </script> <script type="text/javascript"> console.log(document.getElementById('angelaScript').innerHTML); </script>
switch的用法
function switchTest(para) { switch(para) { case 3: console.log('num: %d', para); break; case '3': console.log('string: %s', para); break; case 'mytest': console.log('字符串'); break; default: console.log(para); } } switchTest('3'); // string: 3 switchTest(3); // num: 3 switchTest('mytest'); // 字符串
可见:
1)switch参数变量与case后面的比较是全等比较,也就是说 === 的比较
2)switch语句不光可以使用数字、字符做条件表达式,还可以使用字符串!
另一个例子,可以显示强大的switch完全替代 if else
var num = 1; switch(true) { case num < 0: alert('Less than 0.'); break; case num >=0 && num <= 10: alert('Between 0 and 10.'); break; default: alert('More than 10.'); }
html中设置了id的元素居然是js的全局变量
html页面代码如下所示
<div id="angelaDiv"></div>
<script type="text/javascript">
console.log(angelaDiv);
</script>
在chrome控制台看到的结果如下图所示
让Chrome变成编辑器
极客无极限: http://www.csdn.net/article/2013-02-01/2814041-1-line-browser-notepad