蒙弗拉圭国家公园塔霍河畔的猎鹰岩,西班牙 (© Daniel Viñé Garcia/Getty Images)

Welcom to 评论 - lizhenqiu blog!

    #913

    作者:广西南宁市
    关于JSON.parse的深度拷贝中,Date类型也会被更改,由Date对象变为String
    #,广西南宁市,2017-09-30,12:25:50,
    第3条里的 "$$" 函数谁能讲解下?

    IE11 里是
    function(n,t){return t?t.querySelectorAll.call(t,n):window.document.querySelectorAll.apply(window.document,arguments)}

    Edge里面是未定义(Microsoft Edge 41.16296.0.0)

    Chrome 里

    ƒ $$(selector, [startNode]) { [Command Line API] }
    FF 的文档写它是 Web 开发控制台的 helper command
    #,广西南宁市,2017-09-30,12:44:10,
    <p style="line-height: 18px; font-size: 18px; font-family: times;"> Click "<i>Load samples</i>" to view and edit more JS samples.<br> <br> Labyrinth generated with JavaScript:<br><br> <script> for (var line=1; line<60; line++) { for(var i=1;i<29;i++) { var s = (Math.floor((Math.random()*2)%2)) ? "╱" : "╲"; document.write(s); } document.writeln("<br>"); } </script> </p>
    Run code
    Cut to clipboard
      #,广西南宁市,2017-09-30,14:41:03, js开发实现简单贪吃蛇游戏(20行代码)
      <!doctype html> <html> <body> <canvas id="can" width="400" height="400" style="background: Black"></canvas> <script> var sn = [ 42, 41 ], dz = 43, fx = 1, n, ctx = document.getElementById("can").getContext("2d"); function draw(t, c) { ctx.fillStyle = c; ctx.fillRect(t % 20 * 20 + 1, ~~(t / 20) * 20 + 1, 18, 18); } document.onkeydown = function(e) { fx = sn[1] - sn[0] == (n = [ -1, -20, 1, 20 ][(e || event).keyCode - 37] || fx) ? fx : n }; !function() { sn.unshift(n = sn[0] + fx); if (sn.indexOf(n, 1) > 0 || n<0||n>399 || fx == 1 && n % 20 == 0 || fx == -1 && n % 20 == 19) return alert("GAME OVER"); draw(n, "Lime"); if (n == dz) { while (sn.indexOf(dz = ~~(Math.random() * 400)) >= 0); draw(dz, "Yellow"); } else draw(sn.pop(), "Black"); setTimeout(arguments.callee, 130); }(); </script> </body> </html>
      Run code
      Cut to clipboard
        #,广西南宁市,2017-09-30,14:42:09, 有一bug, dz = 370的时候,黄的吃了以后画不出来了
        文章:JavaScript编程黑科技,装逼指南,高逼格代码  发表时间:2017-09-30, 12:15:04  
        展开↯

        #914

        作者:广西南宁市
        let a = 1, b = 2; [a, b] = [b, a];
        Run code
        Cut to clipboard
          #,广西南宁市,2017-09-30,12:16:39,
          (10)["toString"]() === "10" 写成 10..toString() === "10" 更显装逼~
          Run code
          Cut to clipboard
            #,广西南宁市,2017-09-30,12:17:31, 有问题
            console.log( '1.0123'.replace(/\B(?=(\d{3})+(?!\d))/g, ',')) result: 1.0,123
            Run code
            Cut to clipboard
              #,广西南宁市,2017-09-30,12:18:14,
              Math.random().toString(36).substring(2)
              Run code
              Cut to clipboard
                这类产生随机字符串的方法不严谨 因为
                Math.random()
                Run code
                Cut to clipboard
                  位数是不固定的 玩玩可以 实际使用估计不行
                  #,广西南宁市,2017-09-30,12:18:59,@3, 论如何优雅的取随机字符串
                  在我chrome控制台(版本 55.0.2883.87 m)
                  Math.random().toString(36).substring(2)//经测试23-26位都有可能
                  "7jz8ov7swm7ong7w77x9jdobt9"
                  为何和上面的有差异性呢?是我Chrome版本太低还是太高导致JS的版本不一致导致的?
                  #,广西南宁市,2017-09-30,12:19:19,@4, 这个可能有误导,不好意思,我已经修改了,因为Math.random生成的随机数可能很长,也可能很短。
                  #,广西南宁市,2017-09-30,12:19:38, 从一个数组中找到一个数,O(n)的算法,找不到就返回 null。
                  正常算法不是这个么:
                  const find = (arr,x) => arr.filter(num=>num===x)[0]||null;
                  Run code
                  Cut to clipboard
                    #,广西南宁市,2017-09-30,12:20:26,
                    [...'8'.repeat(6)]
                    Run code
                    Cut to clipboard
                      #,广西南宁市,2017-09-30,12:22:44, 还有一个实用并且我经常用的:判断是否包含某元素,支持数组、字符串等
                      if(~"asdf".lastIndexOf("a")){ alert("exists"); }
                      Run code
                      Cut to clipboard
                        #,广西南宁市,2017-09-30,12:23:09,@8, 为什么用lastIndexOf 不直接用indexOf
                        #,广西南宁市,2017-09-30,12:23:34,@9, 下标从0开始,0==false
                        #,广西南宁市,2017-09-30,12:24:04,@9, ~是移位操作,找不到下标返回-1,移位之后是0,恰好0==false;找到的话,至少返回0,移位后是1,也就是true
                        #,广西南宁市,2017-09-30,12:24:21,@9,
                        ~ 是按位非, ~1 是 -2,这个地方是因为, if 里面的条件要经过两次处理,

                        ToBoolean(GetValue(exprRef))
                        其中 GetValue ,如果不是引用就直接返回原值,ToBoolean在处理Number时的规则是

                        The result is false if the argument is +0, −0, or NaN; otherwise the result is true.
                        所以你这个是在大部分时候是没有问题的
                        文章:JavaScript编程黑科技,装逼指南,高逼格代码  发表时间:2017-09-30, 12:14:41  
                        展开↯

                        #915

                        作者:广西南宁市
                        让js脚本永远不报错的方法:
                        window.onerror = function(m, f, l){ return true }
                        Run code
                        Cut to clipboard
                          文章:JavaScript编程黑科技,装逼指南,高逼格代码  发表时间:2017-09-30, 12:13:50  
                          展开↯

                          #916

                          作者:广西南宁市
                          还有个布尔值的处理
                          eg:!!0 === false
                          Run code
                          Cut to clipboard
                            文章:JavaScript编程黑科技,装逼指南,高逼格代码  发表时间:2017-09-30, 12:13:09  
                            展开↯

                            #917

                            作者:广西南宁市
                            格式化钱那个为啥不用 toLocaleString ?
                            #,广西南宁市,2017-09-30,12:12:45,
                            (23333333).toLocaleString('en-US')
                            Run code
                            Cut to clipboard
                              文章:JavaScript编程黑科技,装逼指南,高逼格代码  发表时间:2017-09-30, 12:11:22  
                              展开↯

                              #919

                              作者:广西南宁市
                              可以活泼但不能任性
                              文章:@意见反馈/技术支持/伊网/安企网  发表时间:2017-09-30, 10:22:03  
                              展开↯

                              #920

                              作者:广西南宁市
                              开启移动默认是,顶部导航不自动固定,文章右边目录定位减少顶部距离,不准确跳转
                              文章:@意见反馈/技术支持/伊网/安企网  发表时间:2017-09-29, 18:04:46  
                              展开↯

                              #921

                              作者:广西南宁市
                              假如做一个直径10km(周长31.4km)的巨轮,用大巨的电动机去带动,当转速越来越快,到达1W转/秒的时候,巨轮边缘的线速度超过光速了,那么根据爱因斯坦的理论,是不是巨轮的边缘会消失在这个空间(或进入另一个空间)。
                              文章:人类第四次发现引力波:首次确定方位  发表时间:2017-09-29, 18:02:06  
                              展开↯

                              #922

                              作者:广西南宁市
                              假如我的屌长1光年,此时我躺在地上,由于地球的自转,是否吊另一端的线速度已超越光速?
                              #,广西南宁市,2017-09-29,17:59:17, 在这个尺度上,即使你长的是跟铁屌,也是跟面条一样柔软的。地球即使转上1圈,远端的屌头也还在原地,最终,你会被自己的屌捆在地球上,如果没有屌没有被它自己的惯性撕裂的话。
                              #,广西南宁市,2017-09-29,17:59:36, 不存在理想刚体,棍子的速度传播等于机械波传播速度,远小于光速
                              #,广西南宁市,2017-09-29,17:59:55, 想象一下一光年的屌在宇宙中挥舞的情景我就想笑,还有啊,你小心别碰到太阳什么的高温物体,你会把屌烧没的。
                              #,广西南宁市,2017-09-29,18:00:10, 首先你得把一万光年的屌竖起来。
                              #,广西南宁市,2017-09-29,18:00:24, 屌想超过光速~~只能脱离实体~~~
                              #,广西南宁市,2017-09-29,18:01:27, 根据爱因斯坦的理论,不存在超越光速的物质可证:你没有屌……
                              文章:人类第四次发现引力波:首次确定方位  发表时间:2017-09-29, 17:58:55  
                              展开↯

                              #923

                              作者:广西南宁市
                              event.preventDefault();
                              取消事件的默认动作。
                              #,广西南宁市,2017-09-29,17:52:22,
                              在 touchend 中解除 touchmove 绑定
                              $("#id").on(' touchstart',function(){ $("#id").on('touchmove',function(event) { event.preventDefault(); }, false);})$("#id").on(' touchend',function(){ $("#id").unbind('touchmove');})
                              Run code
                              Cut to clipboard
                                #,广西南宁市,2017-09-29,17:52:52,
                                $("body").bind("touchmove",function(event){event.preventDefault;//code});
                                Run code
                                Cut to clipboard

                                  取消了body的拖动事件。
                                  恢复这个拖动事件只要
                                  $("body").unbind("touchmove");
                                  Run code
                                  Cut to clipboard
                                    文章:jquery禁用a标签,jquery禁用按钮click点击  发表时间:2017-09-29, 17:52:03  
                                    展开↯

                                    #924

                                    作者:广西南宁市
                                    php表单常用正则表达式
                                    function is_email($str){ //检验email return preg_match("/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/", $str); } function is_url($str){ //检验网址 return preg_match("/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"]) *$/", $str); } function is_qq($str){ //检验qq return preg_match("/^[1-9]\d{4,8}$/", $str); } function is_zip($str){ //检验邮编 return preg_match("/^[1-9]\d{5}$/", $str); } function is_idcard($str){ //检验身份证 return preg_match("/^\d{15}(\d{2}[A-Za-z0-9])?$/", $str); } function is_chinese($str){ 检验是否是中文 return ereg("^[".chr(0xa1)."-".chr(0xff)."]+$",$str); } function is_english($str){ //检验是否是英文 return preg_match("/^[A-Za-z]+$/", $str); } function is_mobile($str){ //检验是否是手机 return preg_match("/^((\(\d{3}\))|(\d{3}\-))?13\d{9}$/", $str); } function is_phone($str){ //建云那是否是电话 return preg_match("/^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/", $str); } function is_safe($str){ return (preg_match("/^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|. {0,5})$|\s/", $str) != 0); } }
                                    Run code
                                    Cut to clipboard
                                      #,广西南宁市,2017-09-29,15:54:23,
                                      php 多维数组排序
                                      *php版本5.5以上
                                      $data = array_column($row, 'id');//id、排序的字段名, $row 带排序数组 array_multisort($data, SORT_DESC, $row);//SORT_DESC 倒序 SORT_ASC 升序
                                      Run code
                                      Cut to clipboard
                                        文章:常用html、demo代码  发表时间:2017-09-29, 15:53:49  
                                        展开↯

                                        #925

                                        作者:广西南宁市

                                        芳芳造型
                                        <style> /*利用:after伪元素*/ .clearUl:after { content:""; display: block; clear: both; } #ffmmright li a:active:before { content: '[ '; }#ffmmright li a:active:after { content: ' ]'; }#ffmmright li a:active{font-size: 18px;} </style> <script> window.alert = function(name){ var iframe = document.createElement("IFRAME"); iframe.style.display="none"; iframe.setAttribute("src", 'data:text/plain,'); document.documentElement.appendChild(iframe); window.frames[0].window.alert(name); iframe.parentNode.removeChild(iframe); } //重写confirm方法,去掉地址显示 window.confirm = function(name){ var iframe = document.createElement("IFRAME"); iframe.style.display="none"; iframe.setAttribute("src", 'data:text/plain,'); document.documentElement.appendChild(iframe); var result = window.frames[0].window.confirm(name); iframe.parentNode.removeChild(iframe); return result; } var ua = navigator.userAgent.toLowerCase(); var isWeixin = ua.indexOf('micromessenger') != -1; var isAndroid = ua.indexOf('android') != -1; var isIos = (ua.indexOf('iphone') != -1) || (ua.indexOf('ipad') != -1); /*if (isWeixin) { alert('微信来源'); }else{ alert('非微信来源'); }*/ window.onload=function(){ document.body.addEventListener('touchstart', function () { //...空函数即可 }); } </script>
                                        Run code
                                        Cut to clipboard
                                          #2173,移动端,点击之后某个区域后有阴影
                                          html点击有阴影
                                          去掉点击后面阴影区域方块决解方法css

                                          今天偶然发现一件很奇怪的事儿。
                                          在移动端,在我去掉css的伪类及其伪元素跟相关的js之后,
                                          在我点击某块区域的时候,总有一个背景盖在上面,当初以为是Js搞得鬼,
                                          后来发现却不以为然,原来是css的一个属性搞得鬼,希望可以帮到大家。

                                          问题1:
                                          如图所示,我所遇到的状况:

                                          问题2:去掉点击区域的边框阴影效果
                                          <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport"> <meta content="yes" name="apple-mobile-web-app-capable"> <meta content="black" name="apple-mobile-web-app-status-bar-style"> <style type="text/css"> div { /*关键代码*/ -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .btn-blue { display: block; height: 42px; line-height: 42px; text-align: center; border-radius: 4px; font-size: 18px; color: #FFFFFF; background-color: blue; } .btn-blue-on { background-color: red; } </style> </head> <body> <div class="btn-blue">按钮</div> <script type="text/javascript"> var btnBlue = document.querySelector(".btn-blue"); btnBlue.ontouchstart = function() { this.className = "btn-blue btn-blue-on" } btnBlue.ontouchend = function() { this.className = "btn-blue" } btnBlue.onclick = function(){ alert(123) } </script> </body> </html>
                                          Run code
                                          Cut to clipboard
                                            #,广西南宁市,2017-09-29,10:38:40,
                                            style=" color: #000000; cursor: pointer; right: 28px; position: absolute; top: 0px; display: inline-block;outline :none;-webkit-appearance:none;-webkit-tap-highlight-color: rgba(0, 0, 0, 0); "
                                            Run code
                                            Cut to clipboard
                                              #,广西南宁市,2017-09-29,10:40:35,
                                              移动端:active伪类无效的解决方法
                                              在iOS系统的移动设备中,需要在按钮元素或body/html上绑定一个touchstart事件才能激活:active状态。
                                              window.onload=function(){ document.body.addEventListener('touchstart', function () { //...空函数即可 }); }
                                              Run code
                                              Cut to clipboard
                                                #,广西南宁市,2017-09-29,10:40:55,@2,
                                                a:link { /* Essentially means a[href], or that the link actually goes somewhere */ color: blue; } a:visited { color: purple; } a:hover { color: green; } a:active { color: red; }
                                                Run code
                                                Cut to clipboard
                                                  #,广西南宁市,2017-09-29,10:41:14, 移动网页active
                                                  文章:on click事件在移动端点击无效bug  发表时间:2017-09-29, 10:37:59  
                                                  展开↯

                                                  #926

                                                  作者:广西南宁市
                                                  移动端,点击之后某个区域后有阴影
                                                  html点击有阴影
                                                  去掉点击后面阴影区域方块决解方法css

                                                  今天偶然发现一件很奇怪的事儿。
                                                  在移动端,在我去掉css的伪类及其伪元素跟相关的js之后,
                                                  在我点击某块区域的时候,总有一个背景盖在上面,当初以为是Js搞得鬼,
                                                  后来发现却不以为然,原来是css的一个属性搞得鬼,希望可以帮到大家。

                                                  问题1:
                                                  如图所示,我所遇到的状况:

                                                  问题2:去掉点击区域的边框阴影效果
                                                  <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport"> <meta content="yes" name="apple-mobile-web-app-capable"> <meta content="black" name="apple-mobile-web-app-status-bar-style"> <style type="text/css"> div { /*关键代码*/ -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .btn-blue { display: block; height: 42px; line-height: 42px; text-align: center; border-radius: 4px; font-size: 18px; color: #FFFFFF; background-color: blue; } .btn-blue-on { background-color: red; } </style> </head> <body> <div class="btn-blue">按钮</div> <script type="text/javascript"> var btnBlue = document.querySelector(".btn-blue"); btnBlue.ontouchstart = function() { this.className = "btn-blue btn-blue-on" } btnBlue.ontouchend = function() { this.className = "btn-blue" } btnBlue.onclick = function(){ alert(123) } </script> </body> </html>
                                                  Run code
                                                  Cut to clipboard
                                                    文章:on click事件在移动端点击无效bug  发表时间:2017-09-29, 10:36:55  
                                                    展开↯

                                                    #927

                                                    作者:广西南宁市
                                                    此前有这么一个段子,程序员A和B,A每天只写 100 行代码,字里行间规范清晰,其余大部分时间都在整理文档,备注的非常详细,B每天写 50000 行代码,却很少写注释,天马行空,为此还嘲笑A不够高效。随着业务越来越复杂,客户需求随时可变,两个人都开始组建团队,这个时候,功夫不负苦心人,A之前的努力都派上了用场,B只能佩服加惭愧。

                                                    我听到的版本是这样的: B成了A的领导, 让A重构之前B写的代码
                                                    #,广西南宁市,2017-09-29,09:32:55, 我听到的是,B的项目提前开发完成,提早占领市场。
                                                    文章:程序员编程常用网页工具集[游戏]  发表时间:2017-09-29, 09:32:31  
                                                    展开↯

                                                    #928

                                                    作者:广西南宁市
                                                    json在php中的使用之如何转换json为数组
                                                    <?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json)); echo"<br/>"; var_dump(json_decode($json, true)); ?>
                                                    Run code
                                                    Cut to clipboard

                                                      数组$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';被json_decode()解码,转换回来的数据是对象,var_dump(json_decode($json))得到的是一个对象,如下:
                                                      object(stdClass)#1 (5) { ["a"]=> int(1) ["b"]=> int(2) ["c"]=> int(3) ["d"]=> int(4) ["e"]=> int(5) }
                                                      Run code
                                                      Cut to clipboard

                                                        那么,要怎么样才能把json数组转换为php格式的数组呢,采用以下方式:
                                                        json_decode($json, true)
                                                        Run code
                                                        Cut to clipboard

                                                          这样得到的数据就是php的数组了:
                                                          var_dump(json_decode($json, true));
                                                          Run code
                                                          Cut to clipboard

                                                            效果如下:
                                                            array(5) { ["a"]=> int(1) ["b"]=> int(2) ["c"]=> int(3) ["d"]=> int(4) ["e"]=> int(5) }
                                                            Run code
                                                            Cut to clipboard
                                                              文章:weiphp微信多客服系统插件  发表时间:2017-09-28, 09:55:34  
                                                              展开↯

                                                              #929

                                                              作者:广西南宁市
                                                              订阅号是没有推送的,会挤在订阅号的文件夹里,服务号消息虽然少但是有推送,会和腾讯新闻一样单独出现在外面,效果会更好。
                                                              文章:weiphp微信多客服系统插件  发表时间:2017-09-28, 09:52:07  
                                                              展开↯

                                                              #930

                                                              作者:广西南宁市
                                                              8u ftp 可以连接但是无法获取目录的解决办法:无法打开传输通道。
                                                              解决办法: 按照这个做法,站点管理器---选择站点-----高级---选择活动模式-----确定。然后再开启,
                                                              文章:wdcp常用启动命令  发表时间:2017-09-26, 18:06:09  
                                                              展开↯

                                                              #931

                                                              作者:广西南宁市
                                                              您好,如果您的ECS设置是允许IP直接访问的话,您直接在浏览器地址栏里输入IP地址即可,主机这边没有特殊要求的。
                                                              #2167,阿里云服务器创建网站用IP地址无法访问
                                                              阿里云服务器的本实例安全组配置规则没有设置,添加出站和入站端口就可以了。0.0.0/0代表全部允许全部IP。


                                                              你的安全组有没有设置过外网允许访问的IP,我遇到过类似的问题看看能不能帮你
                                                              管理控制台---云服务器ECS---网络安全下的安全组---对应的安全组后面的配置规则---添加安全组配置
                                                              因为不知道你这个是内网还是外网的问题(专有网络不用设置外网),所以可以都设置一下,端口范围用“数字/数字”的形式,授权对象填IP就行。不过那上面有提示你怎么填,按照要求一步步来就好
                                                              安装完检查v3的运行情况 netstat -lnpt 查看是否有8080的端口和wdcp的进程 service wdcp restart 可操作重启
                                                              Run code
                                                              Cut to clipboard
                                                                #,广西南宁市,2017-09-26,17:52:17,
                                                                文章:wdcp常用启动命令  发表时间:2017-09-26, 17:45:41  
                                                                展开↯
                                                                你好,残忍屏蔽广告

                                                                确定要清除编辑框内容吗?

                                                                该删除操作将不可恢复。

                                                                删除 取消

                                                                激活Windows

                                                                转到"设置"以激活Windows。