18.4.5
js的回调函数callback()在浏览器中的执行简要。
摘自:https://www.jianshu.com/p/6bc353e5f7a3
浏览器常驻三大线程: js引擎线程,GUI渲染线程,浏览器事件触发线程
看到此图你是不是会豁然开朗许多,因为浏览器是一个多线程的执行环境,在浏览器的内核中分配了多个线程,最主要的线程之一即是js引擎的线程,同时js事件队列中的异步请求,交互事件触发,定时器等事件都是由浏览器的事件触发线程进行监听的,浏览器的事件触发线程被触发后会把任务加入到js 引擎的任务队列中,当js 引擎空闲时候就会开始执行该任务
作者:Cayley硕儿
链接:https://www.jianshu.com/p/6bc353e5f7a3
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
————————————————
18.3.26
js 中{},[]中括号,大括号使用详解
参考:https://www.cnblogs.com/chayan/p/5792862.html
一、{ } 大括号,表示定义一个对象,大部分情况下要有成对的属性和值,或是函数。
如:var LangShen = {"Name":"Langshen","AGE":"28"};
或者
var LangShen = {
Name = function(){
return "LangShen";
},
Age = function(){
return "28";
}
}
二、[ ]中括号,表示一个数组,也可以理解为一个数组对象。
三、{ } 和[ ] 一起使用,我们前面说到,{ } 是一个对象,[ ] 是一个数组,我们可以组成一个对象数组,如:
var LangShen = { "Name":"Langshen",
"MyWife":[ "LuLu","26" ],
"MySon":[{"Name":"Son1"},{"Name":"Son2"},{"Name":"Son3"}]
}
使用:如:alert( LangShen.MySon[1].Name ) ;
————————————
18.3.23
问:js字符串使用split方法,得到空数组,但是length却为1。
答:split方法的源码。因为正则匹配不到字符。。。就直接返回一个数组 ,数组中包着 空字符串 所以他的长度是1
其实你可以对A进行判断是否是空字符串,空字符串就直接赋值空数组。