A crazy guy
  • JavaScript闭包

    JavaScript最有意思的就是闭包,很简单,闭包的出现就是解决变量作用域的问题

    看看这个例子

    for (var i = 0; i < 2; i++) {
      (function(n){
        console.log(n);
      })(i)
    }
    
    // Output:
    //  0
    //  1
    

    以上例子就是需要在for循环中能够接收到每一个变量,于是有些朋友就说了,直接console.log不就好了吗?

    for (var i = 0; i < 2; i++) {
      console.log(i);
    }
    
    // Output:
    //  0
    //  1
    

    ...

    READ ALL

  • 七月流量1.4G!

    记得六月的时候我的流量不到1G,当时觉得实现一个月1G流量算是最大的心理安慰了,今天统计了一下7月流量,结果使用了1.42G。

    虽然也有一些图,但都是压缩过的,流量占比应该不大,所以流量应该算是有点增加了!

    上图 (七月的)

    full

    六月的

    full

    虽说相对于200GB的月额定流量来说,还不到一个百分点,但相对于六月来说,实现了翻倍,不过也有可能是7月发布的博文带图的略多一些。看来那些大神说一天用30G,估计都是高清壁纸之类或者电影下载站了。否则博客站点以文字为主要内容的页面要达到30G一天,先不说PV有多少,就是光复制粘贴文字得有多大量的文字才能实现这个目标啊?那一定世界排名第一了。

    ...

    READ ALL

  • zsh command not found rvm-prompt

    zsh确实是一个非常好用的命令终端,特别是提供的多皮肤样式更容易装逼

    但最近zsh老是提示

    zsh: command not found: rvm-prompt

    这个错误大意是说找不到rvm-prompt,解决这个问题也非常简单,安装rvm-prompt让它找到不就好吗?

    curl -sSL https://get.rvm.io | bash
    

    如果你是Mac操作系统的话,记得加sudo

    sudo curl -sSL https://get.rvm.io | bash
    

    如果成功安装,那么再此打开命令终端,应该不会再提示zsh: command not found: rvm-prompt之类的了

    ...

    READ ALL

  • 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