都是风景,幸会。

开发环境:开发环境是程序猿们专门用于开发的服务器,配置可以比较随意, 为了开发调试方便,一般打开全部错误报告。

测试环境:一般是克隆一份生产环境的配置,一个程序在测试环境工作不正常,那么肯定不能把它发布到生产机上。

生产环境:是值正式提供对外服务的,一般会关掉错误报告,打开错误日志。

三个环境也可以说是系统开发的三个阶段:开发->测试->上线,其中生产环境也就是通常说的真实环境。

在最新系统 macOS Sierra 安装网上的破解软件时,安装提示“xxx软件已损坏,打不开,您应该将它移到废纸篓”的提示,其实并不是软件本身有问题,而是Mac系统的一个安全机制问题,原因是因为新系统屏蔽了任何来源的设置,macOS Sierra 系统有一个保护叫做 Gatekeeper,这个是防止第三方应用访问你的隐私信息的,需要禁用 Gatekeeper 来打开“允许任何来源”方可安装:

禁用 Gatekeeper:打开终端,在终端输入 sudo spctl --master-disable 即可;
启用 GateKeeper:sudo spctl --master-enable
查询 GateKeeper 状态:sudo spctl --status

function loadScript(url, callback) {

    var script = document.createElement("script");
    script.type = "text/javascript";

    if(script.readyState) {
        script.onreadystatechange = function() {
            if(script.readyState == "loaded" || script.readyState == "complete") {
                script.onreadystatechange = null;
                callback();
            }
        };
    } else {
        script.onload = function() {
            callback();
        };
    }

    script.src = url;
    document.getElementsByTagName("head")[0].appendChild(script);
}

loadScript("forms.js", function() {
    console.log("加载完成!");
})

retrun true: 返回正确的处理结果;
return false: 返回错误的处理结果,终止处理;return false 只在当前函数有效,不会影响其他外部函数的执行,可以使用 if (!fn()) return; 解决,另外 fn() 最后需要 return true;
return: 把控制权返回给页面;return 语句不带任何返回值时,函数在停止执行后将返回 undefined;如果函数 fn() 不写 return,则函数也会返回 undefined;

位于 return 语句之后任何代码都永远不会执行;