js怎么实现同步
为什么会觉得CSS比JavaScript难?
为什么会觉得CSS比JavaScript难?
CSS是描述性语言,一般都是属性值的英文描述,没有逻辑结构,比如说一个盒子,长度多少,高度多少,什么颜色等等。JS就不行了,还是一种编程语言,存在逻辑结构,如果条件成立,则执行什么命令,否则怎么办,还是有很大的区别的;但是没办法,现在的前端工作都要去熟练应用CSS和JS,所以都有兼顾学习两种描述和逻辑语言。计算机专业的相对学起来轻松一些,如果没有编程经验的就会用时间长一些;这些东西学习完了,就要学习框架了,JQuery是迈不过去的坎,然后就是其他一下更复杂的框架系统;HTML5是现在的主流语言,值得深入学习,相应的学习网站可以搜索的到。
在JavaScript中,是否存在“同步非阻塞”和“异步阻塞”这两种情况?
首先,JS是单线程的,没有多线程自然没有同步异步之说。只要是执行JS代码,必然是同步的。JS所谓的同步和异步,和C及JAVA里的线程异步不是同一个概念,只用在JS执行线程使用AJAX和网络资源处理线程之间切换时是否等待。如果采用同步请求,则在请求完成之前,JS线程会一直挂起等待,必然是阻塞的。使用异步请求,则JS线程会在发起网络请求后继续向下执行。这个阻塞也是在实现引擎的C和C 层面来说的,而非针对JS本身。用户从JS层面真正能够直观体会到阻塞,是在alert等弹出框显示时。浏览器内核本身并没有阻塞alert,而是在上层实现上去对它进行的阻塞。所以,我的答案是:negative