bglky

bglky 查看完整档案

广州编辑中山大学  |  计算机科学与技术 编辑  |  填写所在公司/组织 bglky.me 编辑
编辑

Stay hungry,Stay young!

个人动态

bglky 赞了回答 · 2016-12-28

js中sort函数的底层实现机制?

20多种。。。稍微有点常识不会这么说的,排序一共都没有20多种。

array源码

710行开始。

关注 10 回答 4

bglky 赞了回答 · 2016-12-28

解决chrome工具 console.log出现诡异问题

看到 Object 后面那个写着 i 的蓝色小方框了么?你把鼠标放上去就会看到解释:

Object value at left was shapshotted when logged, value below was envalueated jast now

什么意思呢?就是说这个标记左边的值是代码运行到这句时变量的快照,而下面的值是你展开这个对象时才评估的值,这样的设计是为了防止代码运行过程中 log 语句进行 snapshot 占用大量资源拖慢代码运行。所以在这个标记后面两次都输出 bbb 是正确的。

而当你打开控制台再次刷新时,会发现没有了这个标记,这时应当输出的是 444 bbb

log 如何输出受控制台是否开启、对象体积等很多因素影响。

关注 9 回答 7

bglky 关注了问题 · 2016-12-27

Vue数据变化不能触发dom更新

我的数据结构是这样的:

tableData = [
       {
        tbodydata:[
            ["a"],
            ["b"],
            ["c"],
        ]
       }
    ]
这种多层嵌套结构,现在我改变tbodyData中某个数组中的序号为index的值,要如何出发页面的dom更新??

我现在处理的方法是采用数组的splice方法处理的
state[uid].tableData[index].tbodyData.splice(rindex,1,trData);
在vue-devtool看到数据是变化啦 ,但是页面dom没有重新渲染出来,还是为空

关注 3 回答 2

bglky 回答了问题 · 2016-12-27

Vue数据变化不能触发dom更新

关注 3 回答 2

bglky 赞了问题 · 2016-09-27

windows下安装jekyll成功后,为什么却无法打开网页?

gem和jekyll显示已安装成功:

图片描述

于是创建jekyll项目并尝试运行,打开浏览器却:

图片描述

这是下载下来的jekyll项目的目录:

图片描述

关注 3 回答 2

bglky 关注了问题 · 2016-09-27

windows下安装jekyll成功后,为什么却无法打开网页?

gem和jekyll显示已安装成功:

图片描述

于是创建jekyll项目并尝试运行,打开浏览器却:

图片描述

这是下载下来的jekyll项目的目录:

图片描述

关注 3 回答 2

bglky 回答了问题 · 2016-09-27

windows下安装jekyll成功后,为什么却无法打开网页?

谢邀
jekyll serve后有什么提示
目录中应该有个_site文件夹,这个是运行网页的真正目录

关注 3 回答 2

bglky 回答了问题 · 2016-09-23

解决关于js数组排序的问题

data.sort(function(v1,v2){
  return arr.indexOf(v1.id)-arr.indexOf(v2.id);
});

关注 6 回答 3

bglky 关注了问题 · 2016-09-23

解决关于js数组排序的问题

如何将 data 按照 arr 的顺序,将他排序,

其中 arr 是 data 的 id

图片描述

关注 6 回答 3

bglky 赞了回答 · 2016-09-23

句子反转问题

'hello xiao ming'.split(' ').reverse().join(' ')

关注 5 回答 3

bglky 回答了问题 · 2016-09-22

解决为什么下面这个代码不能把id换成class

getElementsByClassName是IE9+才支持,而且返回的是NodeList,可以加下标指向具体某个element

关注 4 回答 3

bglky 关注了问题 · 2016-09-22

解决为什么下面这个代码不能把id换成class

var tabletd_gg=document.getElementById('gg_blank').innerHTML;
    var count = 0;
    var res_gg = tabletd_gg.replace(/~/g, function(x){ var symbol = count++ == 1 ? '~<br/>' : x; return symbol;});
    document.getElementById('gg_blank').innerHTML=res_gg;

效果是这样的

clipboard.png
转换

clipboard.png

为什么用getElementsByClassName()就失效了?

关注 4 回答 3

bglky 关注了问题 · 2016-09-22

解决关于表单提交,我这样会很奇葩吗?

我现在提交表单都是用Jquery的ajax方法,从来不用通用提交表单的方法

<form action="url" method="post">
  <p>First name: <input type="text" name="fname" /></p>
  <input type="submit" value="Submit" />
</form>

虽然不知道这样有什么不妥,但这样应该是有问题的,希望大家指出问题所在。

追加:我是下面这样提交的,连<form>标签和submit按钮都没有,但是我看好多网站就算是异步提交也会写form表单和submit按钮,比如segmentfault的评论功能就是了

<input type="text" id="username" placeholder="you name"/>
<button>提交</button>
<script>
    $("button").click(function(){
        $.ajax({
            url:"url",
            type:"POST",
            data:{"username":$("#username").val()},
            success:function(data){
                alert(data);
            }
        });
    });
</script>

关注 4 回答 4

bglky 回答了问题 · 2016-09-22

解决关于表单提交,我这样会很奇葩吗?

监测表单的submit事件,阻止默认事件(表单就不会提交了),数据验证,自己ajax提交

关注 4 回答 4

bglky 赞了回答 · 2016-09-20

解决JavaScript为什么console.log ([] == ![]) 结果为true?

看起来知乎的答案写的有点太复杂,虽然十分标准、专业,但可能不好理解

我在这里给出我对 == 理解

首先,纠正一个大部人的误区

究竟这个比的机制是怎么样的呢, 不应该是 ![]为false , 就变成了 [] == false,那么[]不应该隐式转换为true吗? 这样不就变成了 true == false 结果应该为false啊?

== 趋向于把类型不同的指转换为 number 类型进行比较,而不是 boolean 类型

对于

[]==![]

先将等号右边化简

[] == ![] 
//=> [] == !Boolean([])
//=> [] == !true
//=> [] == false

等号两边的类型不同,需要进行类型转换
一般对象与非对象比较时,先尝试使用 valueOf 转换,再尝试使用 toString 转换

//=> [].valueOf() == false
//[] 的 valueOf 方法返回对象本身,仍然是一个引用值,所以尝试使用 toString 转换
//=> [].toString() == false
//=> ""==false

两边类型依然不同,且都为原始值,转换为数字进行比较

//=> Number("")==Number(false)
//=> 0==0
//=> true

关注 7 回答 5

bglky 关注了问题 · 2016-09-20

解决想判断对象中的数组中的length都为0

通过AJAX传递数据,后台返回的数据差不多这样
{"data": [{"name": "Jack","age": 18,"time": []},

      {"name": "Rose","age": 20,"time": []},
      {"name": "Joy","age": 21,"time": []}],

"msg":null,
"resule":true
}
我现在要判断其中的time,如果所有time的length都为0,就在页面中显示“没有匹配数据”,如果任意一个time里有数据,都把数据显示出来,请问怎么判断啊

关注 5 回答 5

bglky 回答了问题 · 2016-09-20

解决想判断对象中的数组中的length都为0

var show=data.some(function(item,index,array){
  return item.time.length;
});

只要有一个time有数据,show就为true;否则false.

关注 5 回答 5

bglky 回答了问题 · 2016-09-19

js如何取<a class='cccc'>标签<strong>中的文本</strong></a>

var text=document.querySelector(".slogo-shopname strong").innerHTML;

之所以用innerHTML而不用innerText是因为innerHTML已纳入HTML5规范,而innerText没有。innerText可能有兼容性问题。

关注 9 回答 9

bglky 关注了问题 · 2016-09-19

js如何取<a class='cccc'>标签<strong>中的文本</strong></a>

js如何获取a标签<strong>文本</strong>中的文本

<a class="slogo-shopname"  data-spm-anchor-id="a1z10.1-b-s.1997427721.d4918089"><strong>ochirly</strong></a>

关注 9 回答 9

bglky 关注了问题 · 2016-08-31

导航栏固定怎么设置内容距离导航栏高度

图片描述

顶部固定,原本是设置内容距离顶部50px,但是当浏览器缩小时,还是挡住了下面的内容,设成百分比在大屏时,内容和顶部有一大段空白距离,这样子的话应该怎么设置导航栏与内容之间的距离
图片描述

关注 4 回答 3