`
砺雪凝霜
  • 浏览: 157090 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

你不知道的一些js原理

js 
阅读更多

目前,有很多初学开发者对理解JSP代码的执行顺序上还比较混乱,经常有同事不清楚为什么有些js要写在下面。

首先,你要了解JSP的执行过程。

所有的JSP都会在客户端发出请求后被容器转译成servlet的源代码(java),然后再将源码(java)编译成servlet的类(class),放入到内存里面。

 

下面列举几个容易让人混淆的问题:

     1、JSP中onload,或者jquery的document.ready,或者简写的$(function),是不是就相当于servlet中的初始化init()方法;

           答案肯定是否定的,所有的jsp中的代码都是在service方法中执行的。这个你可以直接看jsp编译后的文件就一目了然了。

 

     2、onload和jquery的document.ready到底哪个先执行;

          onload指示页面包含图片等文件在内的所有元素都加载完成。

          document.ready表示文档结构已经加载完成(不包含图片等非文字媒体文件)。

          所以说:document.ready在onload 前加载。

 

     3、写在下面的js和document.ready哪个先执行;

          jsp就相当于java,所以执行顺序一样是从上往下,而ready是要在文档结构加载完成的情况下才执行,

          所以说,下面的js肯定是先执行。

          那如果把ready也写在下面呢,道理一样,也肯定是下面的js先执行。

 

     4、前几天有同事问我,为什么上面的js代码还没执行完,怎么就开始执行下面的代码了;

          我一看,原来他用到了好几个$.post方法,也就是ajax,

          ajax大家都知道是异步刷新机制,所以他肯定不会去等上面代码执行完,

          当然如果你功能需要ajax从上往下一步步执行,你可以给全局加个默认不异步的属性$.ajaxSetup({ async: false });

补充:

  • head中的js比body中的js先执行,body中的js比onload中的js先执行。
  1. 同一个script标签中的js的执行顺序跟顺序没有关系。
  2. 不同script标签中的js的执行顺序和script的位置先后正有关。

 原文:转自http://201403144819.iteye.com/blog/2056188

分享到:
评论

相关推荐

    AJAX原理 原理 AJAX

    一般每个小组是一个8位字符,在每个小组的头部和尾部都有一个开始位和一个停止位,它在传送过程中接收方和发送方的时钟不要求一致,也就是说,发送方可以在任何时刻发送这些小组,而接收方并不知道它什么时候到达。...

    你不知道的 Javascript (上卷)阅读计划-Faremax1

    《你不知道的 JavaScript(上卷)》是一本深度探讨 JavaScript 语言核心机制的书籍,特别关注作用域、闭包、this 和对象原型等关键概念。本阅读计划旨在帮助读者深入理解这些概念,提升编程技能。 首先,让我们聚焦...

    read-You-Don-t-Know-JS:《你不知道JavaScript》 笔记

    你不知道的 JavaScript 阅读笔记相关可以在这里下载本书第一部分“作用域和闭包”随附的资料(代码示例、练习题等):可以在这里下载本书第二部分“this 和对象原型”随附的资料(代码示例、练习题等):作用域是...

    你不知道的Node.js性能优化

    Node.js性能优化是一个涉及多个层面的技术话题。...而对于更深层次的性能优化,则需要对JavaScript的执行、V8引擎、libuv事件循环等底层原理有所了解,并结合具体的业务场景,运用合适的工具和方法进行系统优化。

    Node.js-why-is-node-running-Node.js的运行但你不知道为什么吗?

    Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者使用JavaScript进行服务器端编程。在"why-is-node-running"这个主题中,我们探讨的是Node.js应用程序在后台持续运行,而用户可能对其运行的原因和...

    js加密压缩工具jspacker

    JavaScript(简称JS)是一种广泛应用于Web开发的轻量级脚本语言,它在网页中用于增加交互性...对于任何涉及JavaScript的Web开发项目,了解并掌握js加密和压缩技巧,以及像jspacker这样的工具,都是必不可少的专业技能。

    you-dont-know-js:你不知道JavaScript博文演示代码

    在"你不知道JavaScript"中,可能会涵盖变量、数据类型(如基本类型:字符串、数字、布尔,以及引用类型:对象、数组、null和undefined)、作用域(全局和局部,块级作用域)、变量提升(Hoisting)等基础知识。...

    每个JavaScript开发人员应该知道33个概念

    以下是对“每个JavaScript开发人员应该知道的33个概念”的详细阐述。 1. 变量与数据类型:JavaScript支持变量,包括var、let和const的声明。理解基本数据类型(如字符串、数字、布尔值、null和undefined)和复杂...

    JS生成迅雷下载地址

    1. **获取文件信息**:首先,你需要知道你想要提供的文件的基本信息,包括文件的网络URL、文件大小、文件类型等。这些信息可以通过服务器API获取,或者在网页上静态配置。 2. **构造迅雷链接**:迅雷链接通常以`...

    js分页javascript分页

    本文将深入探讨JavaScript分页的原理、实现方式以及常见问题。 一、分页原理 分页的基本思想是将大数据集分成若干小块(页),每次只加载一页数据到客户端,用户可以通过点击页码或导航按钮切换不同页面。为了实现...

    jsencrypt.js 下载jsencrypt.js 下载

    **JSencrypt.js** 是一个基于JavaScript的RSA加密库,它为Web开发者提供了在浏览器环境中进行RSA加密操作的能力。这个库非常实用,特别是在处理敏感数据,如用户密码或身份验证信息时,可以保护这些数据在传输过程中...

    hmac加密算法的JS文件hmac-sha1.js

    9. **性能优化**:考虑到JavaScript的运行环境,"hmac-sha1.js"可能包含了一些性能优化措施,例如减少不必要的内存分配,或者利用缓存提高重复计算的效率。 理解并熟练运用这些知识点,开发者可以创建可靠的...

    ZeroClipboard实现js复制

    这款库巧妙地利用了Flash技术来绕过浏览器的安全限制,因为JavaScript直接操作剪贴板在大部分情况下是不允许的。在浏览器环境中,由于安全原因,JavaScript通常无法直接访问用户的剪贴板数据,而Flash插件则提供了...

    21天学通JavaScript源代码part1 你用你知道

    "21天学通JavaScript源代码part1 你用你知道"是一份专为初学者设计的学习资源,旨在帮助用户在21天内快速掌握JavaScript的核心概念和实践技巧。 在这一部分的源代码学习中,我们可以按照章节顺序,从第1章到第5章...

    Javascript完全自学宝典

    4. **你可能不知道的10个JavaScript小技巧** - **核心知识点**: - 不常用但实用的功能(如Array.from、Object.assign等)。 - 提高代码可读性的编码习惯。 - 编写简洁高效的函数式代码技巧。 #### 三、...

    最新spin.js包下载

    它通过生成旋转动画来模拟正在处理后台任务的状态,从而提升用户体验,让用户知道系统正在工作,避免因等待而产生的不耐烦感。 **1. spin.js的基本概念与原理** spin.js的核心是其自定义的旋转动画。它利用HTML5的...

    Google Analytics与百度统计原理.docx

    当用户访问网页时,JS代码会执行并收集一些浏览器相关信息和访问来源,包括屏幕尺寸、颜色深度、flash版本、用户语言等。这些信息会被用于生成一个URL,用于请求hm.baidu.com/hm.gif图片。 百度统计服务端会接收到...

    21天学通JavaScript源代码part4.rar 你用你知道

    JavaScript是Web开发中不可或缺的一部分,尤其对于前端开发者来说,它的重要性不言而喻。"21天学通JavaScript源代码part4.rar" 是一个针对初学者的教程资源,旨在帮助学习者在21天内逐步掌握JavaScript的核心概念和...

    JavaScript运行原理分析

    (可参考你不知道的JS这本书),当JS控制器转到一段可执行的代码时(这段可执行代码就是编译阶段生成的),会创建与之对应的执行上下文(Excution Context简称EC)。执行上下文可以理解为执行环境(执行上下文只能由JS...

    一些写 Ajax 所必要知道的 JavaScript 及 DOM 观念

    在开发Web应用时,Ajax(Asynchronous JavaScript and XML)技术是一种不可或缺的方法,它允许我们实现页面的异步更新,无需刷新整个页面即可与服务器进行数据交互。本文将深入探讨Ajax背后的一些JavaScript和DOM...

Global site tag (gtag.js) - Google Analytics