日常总结1

1.empty()函数
        empty()函数是用来测试变量是否已经配置。若变量已存在、非空字符串或者非零,则返回 false 值;反之返回 true值。所以,当字符串的值为0时,也返回true,就是执行empty内部的语句。很多PHPer以为empty()函数就是判断变量是否为空然后在开发中被坑了,其实想要判断是否为空,可以用: if($val == "") echo '空';

2. PHP与BOM信息头
        BOM(Byte Order Mark),字节顺序标记,出现在文本文件头部,Unicode编码标准中用于标识文件是采用哪种格式的编码。BOM是为 UTF-16 和 UTF-32 准备的,用于标记字节序(byte order)微软在 UTF-8 中使用 BOM 是因为这样可以把 UTF-8 和 ASCII 等编码明确区分开,但这样的文件在 Windows 之外的操作系统里会带来问题。
        「UTF-8」和「带 BOM 的 UTF-8」的区别就是有没有 BOM,即文件开头有没有 U+FEFF。不带BOM的UTF8才是标准。在utf-8编码文件中BOM在文件头部,占用三个字节,用来标识该文件属于utf-8编码,现在已经有很多软件识别BOM头,但还是有些不能识别BOM头,比如PHP就不能识别BOM头,这也就是用记事本编辑utf-8编码的PHP文件后,就会报错的原因。
       许多 PHP框架默认全部使用UTF-8编码,所以请确保你的程序文件采用UTF-8编码格式保存,并且去掉BOM信息头(去掉BOM头信息有很多方式,不同的编辑器都有设置方法,也可以用工具进行统一检测和处理),否则可能导致很多意想不到的问题。eg:用Notepad++打开文件,选择 格式 -> 以UTF-8无BOM格式编码,再保存就行。

3.mysql让别人进行远程连接

        先ping一下看能否ping通,通了说明在同一个网络中,可以直接访问,你只要在你的登录用户中的账号上添加外部访问就可以,也就是授权
命令:
use mysql
select host,password,user from user;
然后就看到每个账号对应的有一列host,这个就是允许登录的主机,如果host为%号,那么就是所有主机都可以登录,包括远程主机
host password user
localhost root
% root
::1 root

4.mysql主键和唯一的区别:

         主键和唯一的区别: 在数据库理论中,主键是唯一的了,一个表只能设置一个主键。主键中的值必须是唯一并且非空。而唯一键在一张表中可以有多个,并且允许为空。允许多个空值。

5.JavaScript的事件代理与Ajax动态生成       

        JavaScript的事件代理也叫事件委托。通俗的讲,事件就是onclick,onmouseover,onmouseout,等就是事件,代理呢,就是让别人来做,这个事件本来是加在某些元素上的,然而你却加到别人身上来做,完成这个事件。就是利用事件冒泡的原理,把事件加到父级元素上,触发执行效果。从而可以很大程度上来提高执行的效率、而且就算新添加了元素还是会有代理的事件。已经有一些使用主流类库的事件代理示例出现了,比如说jQuery、Prototype以及Yahoo! UI。

        事件代理的优点:那些需要创建的以及驻留在内存中的事件处理器少了。这是很重要的一点,这样我们就提高了性能,并降低了崩溃的风险。在DOM更新后无须重新绑定事件处理器了。如果你的页面是动态生成的,比如说通过Ajax,你不再需要在元素被载入或者卸载的时候来添加或者删除事件处理器了。潜在的问题也许并不那么明显,但是一旦你注意到这些问题,你就可以轻松地避免它们:你的事件管理代码有成为性能瓶颈的风险,所以尽量使它能够短小精悍。

        所以我们在通过Ajax动态生成页面时不需要添加或者删除事件处理器,如绑定按钮的click事件时用的是jquery的click()方法,新生成的按钮就不能响应点击效果。应该改用delegate(),如:$("body").delegate(".btn","click",function(){});








猜你喜欢

转载自blog.csdn.net/rust94/article/details/79428676