AJAX即「Asynchronous JavaScript and XML」(非同步的JavaScript与XML技术),指的是一套综合了多项技术的浏览器端网页开发技术。
from 维基百科
其实这个技术,就是以不更新整个页面,可以部份地或小地方去修改在页面上的资料。
那非同步的含义就是不需要等对方回应,就能做下一件事。
回到程序码上来说,我们都知道程序码是一行一行的往下执行,所以如果以以下的例子来看
function ping(){
console.log('Ping!');
}
function pong(){
console.log('Pong!');
}
function play(){
console.log('Go!');
ping();
pong();
console.log('Game Set!')
}
play();
当我们执行 play 这个 function 的时候,会按照顺序执行,画面如下:
接下来我想要做的是,在 ping 这个 function 内再做一件事,加上一个 setTimeout 的function,它的用途是有点像是设定在多少时间後去执行某一动作。在这里,我想要在它再 3000 毫秒,其实也是 3 秒後要印出大绝招。
function ping(){
console.log('Ping!');
setTimeout(()=>{
console.log('大绝招!');
},3000)
}
function pong(){
console.log('Pong!');
}
function play(){
console.log('Go!');
ping();
pong();
console.log('Game Set!')
}
play();
如果这着我们刚刚的程序码是一行一行往下执行的话,那执行的顺序应该是
Go!
Ping!
大绝招
Pong!
Go!
Game Set!
但是我们在 JS bin 看看,会发现:
会发现,执行 setTimeout 时,有依据所写的 function 延迟了三瞟,因此加入了 setTimeout function 并没有打乱了整个顺序,这就是非同步。
全天下最愚蠢的事就是,每天不断地重复做相同的事,却期待有一天会出现不同的结果。 Insanity: ...
有些人常常遇到紧张时刻密码就是打不好, 因此常常错失登入三次失败的机会, 被锁定帐密光是请IT协助就...
间隔 有了布局跟对齐功能之後,现在我们要来了解如何设置行与行/栏与栏之间的间隔罗。 下图是没有间隔的...
display:Inline、Block、Inline-Block 前言 display是用来设置每...
前言 上一篇文章我 hard code 了一些数据进去我的专案, 现在要来把这些数据放进 JSON ...