hash 和 history

对于单页面应用和多页面应用的url的形式区分是a.com/#/pageonea.com/pageone.html。在还没有单页面应用的时期,浏览器多充当的是一个展现层,路由处理、服务调用、页面跳转流程都由服务端来处理。看图理解……吧

mpa
spa

如果是MPA的话,前端是不需要进行路由处理的,而转入SPA的话,大多数时候,对于后端的请求不再是整个html文件,而是“数据”,除了数据之外的有关css,html,js文件之间处理全由前端处理,前端便自然要处理页面路由。……待写

阅读全文 »

useState

和 react 的 this.state 是一个东西

useEffect

在 component.DidMount 和 componnet.DidUpdate 这两个生命周期内执行。如果在useEffect中有return的话,return部分在componnetWillUnmount阶段调用。

阅读全文 »

react design patterns

声明式

声明式 vs 命令式

1
2
3
4
5
6
quicksort :: (Ord a) => [a] -> [a]
quicksort [] = []
quicksort (x:xs) =
let smallerSorted = quicksort [ a | a <- xs , a <= x]
biggerSorted = quicksort [a | a <- xs , a > x]
in smallerSorted ++ [x] ++ biggerSorted
阅读全文 »

项目建立

h5项目选用taro框架感觉不太好,很多API是在小程序环境得到支持的,在h5端的支持度都没有写明可不可以用,比如

1
2
3
npm install -g @tarojs/cli
taro init myApp
npm run dev:h5

可能会出现的问题,network_error 服务器错误,记得把fan qiang软件的全局模式切掉。这个问题貌似只在初次dev的时候出现过,之后开全局也能正常dev,之后好好学计网吧,现在我也不太懂.npm run dev:h5后可以看到:

阅读全文 »

事件循环和任务队列

eventLoop
在 ES6 中,有一个新的概念建立在事件循环队列之上,叫作任务队列(job queue)。这个
概念给大家带来的最大影响可能是 Promise 的异步特性(参见第 3 章).

事件循环队列类似于一个游乐园游戏:玩过了一个游戏之后,你需要重新到队尾排队才能 再玩一次。而任务队列类似于玩过了游戏之后,插队接着继续玩.

阅读全文 »

Flex

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
.site-nav > li + li{
margin-left: 1.5em;
}
.site-nav > .nav-right{
margin-left: auto;
}

.column-main{
flex: 2;
/* flex-grow: 2; */
/* flex-shrink: 1; */
/* flex-basis: 0%; */
}

.login-form input:not([type=checkbox]):not([type=radio]){
display:block;
width:100%;
}
阅读全文 »

reviewing the fundamental

cascade,specificity and inheritance

cascede

keep selector under conrtol

  • stylesheep origin
    • user agent style
    • author
    • author important
  • specificity
    • inline-style(HTML)
    • selector specificity
阅读全文 »

什么是异步

1
2
setTimeout(()=>{console.log("路")},1000);
console.log("遥"); // 遥路

在1000s的时间(需要较长时间响应的事件)内执行了下一块代码。
正确说法:任何时候,只要把一段代码包装成一个函数,并指定它在响应某个事件(定时器、鼠标点 击、Ajax 响应等)时执行,你就是在代码中创建了一个将来执行的块,也由此在这个程序 中引入了异步机制。

阅读全文 »

绑定规则

找到调用位置后,我们还需根据绑定规则确定 this 的绑定对象。

默认绑定

最常用的函数调用类型:独立函数调用。无法应用其他规则的默认规则。

1
2
3
4
5
function foo() {
console.log(this.a);
}
var a = 2;
foo(); //2

在代码中,foo() 是直接使用不带任何修饰的函数引用进行调用的,因此只能使用 默认绑定,无法应用其他规则。
如果使用严格模式(strict mode),那么全局对象将无法使用默认绑定,因此 this 会绑定 到 undefined;严格模式下与 foo() 的调用位置无关:

阅读全文 »
0%