js function 参数默认值设置

前言

学习过的语言,像C,Java 和 php。可能是 php 写多了,然后 js 又与 php 一样都是弱类型语言,不自觉地就把 php 的一些特性用到了 js 上。这次就出现问题了。

本来项目中的 jqgrid 插件是能用的,可以直接展示可编辑表(兼容IE7~)。但在接手项目后,做了一些修改,发现,可编辑表出不来了!以前没怎么注意,觉得就是浏览器兼容问题。因为在 chrome 浏览器上展示是没有问题的,一般调试也是选择 chrome。

但最近之前的系统使用者反馈,更新后的系统在 IE 上不能运行,表单出不来,而之前是可以的。这就带来了疑问,要么同事撒谎,要么我们后面的编辑改动有 bug 造成了这样的结果。前者不太现实,那就只能是我们代码的问题了。

解决

通过 360 浏览器切换到兼容模式(IE 模式)进行调试,发现运行 jqgrid 的页面控制台输出了报错信息。

对比代码发现,问题出在 function 参数默认值上(当前 phpstorm 并没有报错。。),错误写法如下:

function(a=1){
    xx(a);
}

百度这个问题,有文章提示 js function 不支持参数赋值默认值。
正确的写法如下:

function(a){
    if(!arguments[0]) a = 1;
}

通过 arguments 参数获取形参,索引对应形参位置。

改写原来的 function ,ok!

linux 复制文件下的所有文件

前言

一般情况下 cp -rf /aa/* /bb/ 下就可以了 。

这次是复制带有 git 版本信息的代码内容,结果只有代码部分成功了,隐藏文件(.开头的文件)都没有成功。

解决方案

直接复制所有文件(包括隐藏文件)

cp -rf /aa/. /bb/

多肉植物要怎样养护

关于多肉植物养护的问题,要先了解一下多肉植物的习性,可以让你对多肉植物有进一步的了解,并且帮助你日后养护多肉植物,多肉植物也叫‘多浆植物’,是指根,茎,叶三大器官当中至少有一个具有储藏水分,保水的功能,以便应对恶劣天气以及严重缺水的环境,多肉植物喜阳光充足,干燥,通风的环境,这取决于它能够储藏水分。多肉植物大部分原产于非洲,南北美州等一些风大,降雨量少,紫外线强的地区,所以多肉植物不喜水,不耐寒,喜阳光,喜疏松透气的土壤。

多肉植物要多晒太阳这一点想必养过多肉植物的人应该都知道,多肉植物喜阳光,需要长时间晒太阳。并且最好是全日照;除个别品种比如:玉露,要散光养护,大部分可以露养,每天保证4-6小时的光照时间,尽量不要隔着玻璃,因为玻璃会折射,并且阻碍百分之60-70的紫外线,这对于多肉来说是不好的,同样的多肉放在窗内和窗外是两种状态。

每年一到夏天,就会有人因为多肉植物莫名其妙的掉叶子而感到担心,其实不论哪个季节,都必须保证通风。通风良好可以帮助多肉植物更好的发根,更好的呼吸,生长,尤其是浇水后,如果通风不好,很容易闷根,或者烂根化水。

多肉因为具有储藏水分的功能所以相比较绿植更耐干旱,对于水分的需求不大,即使土壤中没有水分也会消耗自身叶片中的水分来保证生存,所以多肉不能经常浇水,这也是为什么多肉被称为‘懒人植物’的原因,一般土壤缺水后叶片开始自我消耗会慢慢发蔫,这个时候就是可以浇水的信号。

给多肉配土和给其他草植配土不一样,多肉不喜涝,所以土壤要透气性好,也要排水性好,保证土壤不积水、不结板,大部分养殖多肉都是用泥炭最为基质,搭配颗粒性质的土壤,来增加土壤的间隙,保证透气性和排水性。

温差是多肉出状态的条件之一,温差越大,多肉植物颜色对比度越大。

转自:可靠的小炎焱 - 百家号

如何将git版本库里已存在的文件删除(本地需要保留)

如题,有这样的需要,比如密码文件。

1.将该文件移出当前项目目录,然后提交删除文件的 git 记录。

2.将该文件移入原目录,然后在 .gitignore 中添加该文件名称,并提交忽略列表文件的修改

ok!

附:这个时候对该文件操作 git 更新-索引-假定-未更改(字面意思翻译过来--)。当然这时候已经不需要这样操作,只是头脑一热,就得需要,就执行了,然后报错了,然后迷茫了...

git update-index --assume-unchanged <filename>

报错:fatal: Unable to mark file .user.ini

git update-index --assume-unchanged <filename> 指令针对的是已经在版本库里面的文件,对不在版本库里的文件操作,当然会报错啊!!

确定文件是否在版本库里的方法:

windows 下直接通过文件系统可以清晰看到,在版本库里的文件都会有标记,如钩,如红叉。

也可以用 git指令判断:git ls-files --error-unmatch /yourPath/file
若提示:

error: pathspec '.user.ini' did not match any file(s) known to git
Did you forget to 'git add'?

意思就是当前文件不在版本库里。

phpstorm下 Xdebug 调试,捕捉到了请求,但调试页面出不来

如题,碰到 Xdebug 页面出不来,不管怎么折腾 Server 或者 web configuration 都不管用。

在页面上添加断点,断点有捕捉到请求,但是调试界面出不来。只能重启 phpstorm 或者 服务器,单之后问题还是存在,依然无法调试。

突然想到,今天好像运行了360安全卫士清理了一下电脑。清理项中包括一项 Internet 相关的东西,它还提示我要重启电脑。当时没当回事,单现在想来肯定是了。360安全卫士大部分情况下都是做好事的,但有时候,它并不能准确地判断出什么是垃圾、病毒。恶作剧也时有发生。赶紧重启了一下电脑,好了!!!

web 网站、系统登录不进去

可以用控制变量法排除故障原因:

  • 不通的电脑,相同浏览器,及版本
  • 相同电脑,不通的浏览器或不通浏览器版本

检查项包括但不限于账号密码,可以调出浏览器开发者工具(chrome F12 或 Ctrl+Shift+I),选择 Network 项进行监测登录请求是否发出。客户端未加密的,可以直接看到账号密码,确认是否正确。

还有一种情况是,客户端 Cookie 被禁用。大部分网站都需要通过 Session 机制来保持会话,而作为会话 ID 的 Session_id 会存在客户端 Cookie 中,会话生命周期间的每次请求都会携带,以便验证用户身份。同样在浏览器开发中工具中会查看 Cookie 是否被禁用,或者在网址右侧或左侧的连接网站信息里找到 Cookie 项,已屏蔽选项下是否有当前登录请求的域名。

我碰到的情况是,请求账号密码错误时,正常返回错误信息,但是当账号密码都正确的时候,跳转了一下,又跳回了登录页面。这种情况就是当前域名下的 Cookie 被禁用、屏蔽,无法正常保存登录状态。