【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

原文地址:https://www.cnblogs.com/shih/p/6278687.html