• JavaScript中switch匹配容易混淆的一个细节

    switch语句与if语句的关系最为密切,也是其它编程语言中普遍使用的一种流程控制语句,但switch的匹配是全等模式,如果不注意这个细节则写程序时往往会出错。

    var n = '5';
    switch(n){
      case 5:
        console.log('执行case分支');
        break;
      default:
        console.log('执行default分支');
    }
    
    // Output: 执行default分支
    

    可能很多人会误以为以上程序会走case分支,结果却走了default分支。难道它们两个不相等吗?我们使用if语句看看。

    ...

    READ ALL

  • JavaScript巧用length属性增删数组

    在JavaScript中可以利用length计算数组元素个数,但length并不是只读的,通过改变length的值可以实现数组的增删功能。

    var arr = ['琼台博客', 'www.qttc.net', 'Web技术'];
    console.log(arr.length); // Output: 3
    

    声明了一个数组arr,分别给了三个元素。分别是

    arr[0] = 琼台博客
    arr[1] = www.qttc.net
    arr[2] = WEB技术

    数组arr的length元素值是三个,我们把length的值改成2。

    ...

    READ ALL

  • JavaScript复制对象误区

    如果不了解JavaScript数据类型,那么也许你会以为对象的复制是相互独立的,其实它们都是一个指针,而这个指针指向存储在堆中的一个对象。复制结束后,两个变量实际上将引用同一个对象。因此改变其中一个变量会影响另外一个变量。

    普通变量复制,相互独立

    也就是变量只是引用,并不是真正的地址

    // 声明一个变量str1
    var str1 = '琼台博客';
     
    // 将变量str1赋值给str2
    var str2 = str1;
     
    // 再改变str1的值
    str1 = 'www.qttc.net'
     
    // 打印str1与str2的结果
    console.log('str1:' + str1 + ', str2:' + str2); // Output: str1: www.qttc.net, str2: 琼台博客
    

    ...

    READ ALL

  • VPS的操作系统选择

    在买VPS时,除了价格,机房,性能,带宽以外就是操作系统的选择了,如何选择适合的操作系统呢?这是许多购买VPS的站长面临的一个重要问题,以下我们就谈谈如何选择合适的操作系统。

    虽然操作系统多种多样,但归根结底还是以Win平台与Linux平台为两大类别。

    Win平台

    full

    Win平台在国内的VPS提供商里,几乎是每一家都提供的操作系统。由于微软操作系统的普及,使得许多站长在操作Win服务器操作系统的时候也容易上手,配置也快。在Win平台里最有优势的就是使用IIS+asp或者asp.net加SQLServer,全一套都是微软开发的,也只能在Win平台上运行。但这个平台的费用不低,特别是数据库价格更是让许多个人站长望而止步。但目前使用asp.net搭建Web平台的并不多了,除了某些公司的系统以外,特别是个人想使用asp.net的博客系统几乎找不到。

    ...

    READ ALL

  • JavaScript函数arguments数组获得实际传参数个数

    JavaScript与PHP在函数传参方面有点不同,PHP形参与实参个数要匹配,而JavaScript就灵活多了,可以随意传参,实参比形参少或多都不会报错。

    实参比形参多不会报错

    function say (a) {
      console.log(a); 
    }
     
    say('琼台博客', 'WEB技术博客'); // Output: 琼台博客
    

    我们再来看看形参比实参多的结果

    function say (a, b) {
      console.log('a 的值是 '+a+', b 的值是 '+b); 
    }
     
    say('琼台博客'); // Output: a 的值是 琼台博客, b 的值是 undefined
    

    ...

    READ ALL

  • 晒晒我曾经用过的杀毒软件

    几乎所有玩电脑的都要接触杀毒软件,在以前的网络环境中杀毒软件是必装的软件之一。U盘autorun.exe文件,熊猫烧香,IE主页被锁广告页等等更是历历在目。每次重装系统后第一件事就是把杀毒软件给装上,感觉给电脑装了杀毒软件就像是加了一层盔甲入侵无门。后来才感觉那时太天真了,病毒从来就不走正门的。

    诺顿杀毒

    full

    诺顿(Norton)是Symantec(赛门铁克)公司出品,国外杀毒软件。当时是我买了联想电脑后自带的,诺顿在业内口碑不错。当时好像是免费试用三个月,三个月后需要再续费才能使用,我那时比较穷所以三个月后就给卸了。现在诺顿貌似一直做的不错,还推出了网络安全特警。

    ...

    READ ALL

  • Linux系统邮件查看及清空

    在操作Linux命令时,时常出现以下这样一句话

    You have mail in /var/spool/mail/root

    这个是提示有最新的邮件,你可以使用mail命令阅读

    -bash-4.1# mail 
    Heirloom Mail version 12.4 7/29/08.  Type ? for help.
    "/var/spool/mail/root": 383 messages 381 unread
        1 user@localhost.local  Tue Apr 10 20:09 183/7743  "[abrt] full crash report"
        2 user@localhost.local  Tue Apr 10 20:15 183/7730  "[abrt] full crash report"
        3 user@localhost.local  Tue Apr 10 20:20 183/7730  "[abrt] full crash report"
        4 user@localhost.local  Tue Apr 10 20:22 183/7730  "[abrt] full crash report"
    

    ...

    READ ALL

  • JavaScript里弹出</script>标记出错解决方法

    在JavaScript里弹出</script>会让JavaScript误以为这是一个结束标签,而出现异常。

    如以下代码

    <script>
    alert('</script>');
    </script>
    

    我们在<script>块内使用alert弹出</script>字符串,结果被误以为是结束标签,vim还变了颜色。运行结果

    full

    由于把字符串里的当成了结束标签,所以就出现异常,显然这不是我们想要的结果。我们只需要把代码稍加处理一下即可实现。

    ...

    READ ALL

  • 设置Linux计划任务crontab容易出错的地方

    Linux的计划任务可以说是最常用也实用的系统程序了,Linux的计划任务设置也很简单,但稍有不注意就会出错。

    如:使用ntpdate命令每天凌晨自动对时,可能会这么写

    00 00 * * * ntpdate asia.pool.ntp.org;
    

    但这么写是出错的,你可能百思不得其解,在命令状态下执行看下结果

    -bash-4.1# ntpdate asia.pool.ntp.org
    25 Jul 14:00:21 ntpdate[5815]: step time server 212.26.18.43 offset 19.175301 sec
    

    ...

    READ ALL

  • PHP判断字符串是纯英文、纯汉字或汉英混合

    PHP没有直接函数来判断一个字符串是否是纯英文或纯汉字以及汉英混合,只能自己写函数。要想实现此功能就必需对字符集汉字编码占位进行了解,就目前国内比较常用的字符集当属UTF8与GBK了。

    • UTF8每个汉字等于3个长度;
    • GBK每个汉字等于2个长度;

    利用以上汉字与英文的差异,我们就可以利用mb_strlen()函数与strlen()函数分别计算出两组长度数字,然后根据规律进行运算即可判断出字符串的类型了。

    UTF8实例

    <?php
    /**
     * PHP判断字符串纯汉字 or 纯英文 or 汉英混合
     * 琼台博客 www.qttc.net
     */
    function utf8_str($str){
      $mb = mb_strlen($str,'utf-8');
      $st = strlen($str);
      if($st==$mb)
        return '纯英文';
      if($st%$mb==0 && $st%3==0)
        return '纯汉字';
      return '汉英混合';
    }
     
    $str = '琼台博客';
    echo utf8_str($str); // Output: 纯汉字
    
    $str = '琼台博客 www.qttc.net'
    echo utf8_str($str); // Output: 汉英混合
    

    ...

    READ ALL