JS的逻辑判断值

导语

我们经常在做逻辑判定时会根据判定值的布尔类型来区分操作,即如果是··则··,不然则··的逻辑语境,但由于Js的弱类型特性,它可以利用不同类型的值来替代布尔值。如:

if(!false){}, 
if(!""){},
if(!undefined){},
if(!null){},
if(!0){}

效果相同。
但是,这里面又有哪些陷阱呢?

这些值是否都相等

这些值中

0 == false    //true
"" == false   //true
"" == 0       //true

false == undefined   //false
false == null        //false
null == undefined    //true

从上面我们可以看出,虽然 0/false/“”/null/undefined 可以充当相同的布尔角色,但是它们却不能在值上相等。只有 0,false,””值相等,undefined与null值相等,其他不相等。

为什么会这样?

这里在JS运行时的认定机制我也不是特别清楚,我大概知道Js在这里做了一些不严谨的类型转换,所有的值都会被转换为两个值 : false 与true,再执行代码。

备注

由于if语句经常用到,这几种情况还是记下来比较好。

Mac上配置apache支持运行解析python文件

简介

Mac上配置本地服务器解析运行python文件其实比较方便,因为Mac本身就自带了apache来支持启动本地服务器。我们需要修改下apache的配置文件,大致有以下几个逻辑:

  • 加入apache识别的.py文件类型
  • 规定服务器寻找程序文件的地址
  • 放开识别请求的权限

配置文件位置

你可以在finder应用下前往文件位置 :
/etc/apache2
找到httpd.conf即是我们要找的配置文件

检查文件里规定的基地址

查找DocumentRoot,其后面的地址字符串就是该服务器规定默认的基地址,你在该文件下的文件都可以通过 localhost/文件名.类型访问到,细心的你会发现如果此时打开.py文件不能运行,只会展现内容。

识别.py文件

查找 AddHandler,在其后面加入 .pl .py .sh

设置你程序工作的目录位置,并放开权限

找到

<Directory "/Library/WebServer/<span style="font-family: Consolas, 'Courier New', Courier, mono, serif;">CGI-Executables</span><span style="font-family: Consolas, 'Courier New', Courier, mono, serif;">"></span>  
    AllowOverride None  
    Options None  
    Require all granted  
</Directory> 

Directory 后面的字符串是你规定的地址,我的是和基地址保持一致的:

<Directory "/Library/WebServer/Documents">
    AllowOverride None
    Options +ExecCGI
    Order allow,deny
    Allow from all
</Directory>    

设置服务器找寻的位置

查找 ScriptAlias ,设置你自己规定的位置,我的是:
ScriptAlias /Documents/ /Library/WebServer/Documents/

备注

  • 以上内容若查找到为注释内容,请放心删掉注释标识
  • Mac上修改配置文件可能需要权限,你可以了解下如何放开权限
  • 修改完或者刚开始调试服务器不响应,你可以重启apache服务:
    sudo /usr/sbin/apachectl restart
  • 访问地址 : localhost/XX.xx

cookie.js

Cookie.js——小巧简单的cookie设置器

导语

cookie.js 是一个用来处理cookie数据管理的函数库,非常简单,一看就会用,希望你会用上它。

安装

npm i commom-cookie

设置cookie项

cookie.set(pro,value,[,options])

options可选,例如:

cookie.set('name','cookie.js',{path:'/',expires:'1',domain:'...',secure:true})    

获取cookie某项的值

cookie.get(pro)    

获取所有cookie的值

cookie.getCookies()

删除cookie某项(非同域不能清除)

cookie.clear(pro)

删除cookie所有的项(非同域不能清除)

cookie.clearCookies()

CentOs下相关指令记录

在服务器操作系统CentOs下相关指令记录。

Node.js

启动路由文件

首先你需要安装forever工具来启动(forever可以避免服务器重启自启动路由的问题),指令如下

1
$ npm i forever -g

启动:

1
$ forever start 路由文件

停止:

1
$ forever stop 路由文件

重启:

1
$ forever restart 路由文件

Mysql

通过mysql.server脚本来运行/关闭

1
$ service mysqld start/stop

输入密码进入

1
$ mysql -uroot -p

重启服务

1
$ /etc/init.d/mysql restart

系统常用指令

查看硬盘和分区

1
2
3
4
5
6
7
8
9
$ rm #删除文件
$ mkdir #新建目录
$ touch #新建文件
$ kill #可以杀死某个正在进行或者已经是dest状态的进程
$ cat #打印文件内容,cat > 1.c可以将copy的代码等内容复制到1.c中,ctrl+d保存, 通过gcc -o 1 1.c 将1.c编译成.exe文件
$ df -h
$ fdisk -l
$ du -sh #查看当前目录占用空间大小
$ du /etc -sh #查看/etc目录占用空间大小

More info: get more…