2 JavaScript应用开发实践指南
JavaScript 语言在浏览器中的运用
- HTTP请求,加载HTML后根据内容加载CSS等,大部分浏览器默认2个下载链接. HTML元素要尽可能简洁,不需要将Table元素变成多个div, css代码经常被拆分成文件结构中的数个模块,使用时进行合并. 引入了一个以上的CSS文件可能会导致性能问题, Tips: 多个文件,多个请求.
-
JavaScript 相比其他元素受到特殊照顾, 只要用HTTP请求来获取这种文件时, 其他资源的下载都会停止. JavaScript 文件下载完毕之前, 它们都得等着.
JavaScript本身不会阻塞网站的加载过程, 造成这个问题的根本原因在于浏览器加载javascript源文件所使用的机制.
通常,我们会将浏览器看不见的东西, 例如
<meta>元素, <title>元素, DOCTYPE, 网站图标(favion)以及外部CSS文件统一放置于元素或者文档内部. 这样等到浏览器开始渲染的时候, 资源就已经准备好了. BUT 浏览器渲染好网页之前会出现一段时间空白, 这是因为在JavaScript元素在元素中被引入, 解决办法: 将js文件置于页面末尾.- Js文件代码的主要功能: 1.修改HTML文档;2.与服务器通信;3.存储数据
- js文件与css配合使用, js获取元素后增加button事件, 给元素增加上clsss.
- Js辅助开发工具
- 语言内置
console对象工具 - 浏览器中的工具. YUI 压缩Js程序所占的文件大小, 极大提高运行速度.
JSLint 会挫伤你写代码的积极性.JSLint这个工具会分析你的代码问题.
- 语言内置
Js术语解析
基本术语
- 文档对象模型(DOM), 三种关系: 父节点(parent), 子节点(child), 兄弟节点(sibling).
- 变量.
- 局部变量, 定义在函数内部, 通过
var关键字来声明. 如:var var1. - 全局变量. 在函数外用
var声明, 定义的变量加入window对象, 不使用var关键字,需要时直接定义 三种方式. 谨慎使用全局变量 , 其用来描述不会发生改变的值, 也可以用来表示整个JavaScript源文件中需要多次引用使用的值.
- 字符串.
引号(成对的半角单双引号)括起来的值一定是字符串. 赋值给某个变量后, 会忽略其值, 直接作为做服从. 在操作数学运算时, 要尤其注意这个问题. - 注释, 单行注释// , 多个行之间注释/* */
- 操作符: + - * / ++ – =
- use stick指令. 函数定义中插入. 用来使用解释器采用更为严格的规则来执行脚本, 类似于HTML或XHTML中使用的doctype(文档类型声明). Tips: 现在经常作为一条JavaScript的最佳实践原则, 示例代码如下:
fuction getFamilyMemberNames(){"use strict";/* the rest of your function code goes here*/}
- 数据存储方式.
- 缓存. 变量被声明后多次使用, 即被缓存, 如果只用一次, 则直接使用值更快写. 如果多次最好使用变量声明赋值的方式缓存起来, 提高效率.
- 数组. [‘1’,’2’,’3’]这种方式存储, 方便JavaScript解析, 经常出现在Ajax调用里面.
- cookies和session. 存储与客户端和服务端.
- JavaScript对象表示法. JSON也是一种易用同JavaScript集成的数据格式, 通常在用JavaScript调用服务时使用的.
{"family":["joan","2"]}
- 对象. 距离将数据放在对象中. `要创建一套面向的JavaScript代码编写与管理模式, 首先要掌握这种方式.
var grandmother ={"first-name":"anna","last-name":"ddd"};
2 JavaScript应用开发实践指南的更多相关文章
- 一 JavaScript应用开发实践指南
渐进增强模型 总述: 结构层(Structure),表现层(presentation)与行为层(behavior). HTML,CSS,JavaScript. 只有HTML 的情况下也可以显示内容,C ...
- 2.1 JavaScript应用开发实践指南
创建交互层 循环 示例代码如下: var people = family, peopleCount = items.length, i; if(peopleCount>0){ for(i=0; ...
- 精通BIRT:Eclipse商务智能报表工具开发实践指南
http://blog.csdn.net/birtbird/article/details/8935520 [置顶] 精通BIRT:Eclipse商务智能报表工具开发实践指南 分类: BIRT 201 ...
- OpenGL ES应用开发实践指南:iOS卷
<OpenGL ES应用开发实践指南:iOS卷> 基本信息 原书名:Learning OpenGL ES for iOS:A Hands-On Guide to Modern 3D Gra ...
- lua游戏开发实践指南学习笔记1
本文是依据lua游戏开发实践指南做的一些学习笔记,仅用于继续自己学习的一些知识. Lua基础 1. 语言定义: 在lua语言中,标识符有非常大的灵活性(变量和函数名),只是用户不呢个以数字作为起始符 ...
- 【SpringCloud技术专题】「Gateway网关系列」(3)微服务网关服务的Gateway全流程开发实践指南(2.2.X)
开发指南须知 本次实践主要在版本:2.2.0.BUILD-SNAPSHOT上进行构建,这个项目提供了构建在Spring生态系统之上API网关. Spring Cloud Gateway的介绍 Spri ...
- 《Lua游戏开发实践指南》读后感
书籍地址:http://book.douban.com/subject/20392269/ 一句话点评该书:想用Lua作游戏脚本开发的同学值得一读! (一)本书特点 市面专门讲Lua的中文书籍非常少, ...
- 1. 初次尝试Core Data 应用程序(Core Data 应用开发实践指南)
本书以实践的方式讲解 Core Data,不会过早讲一些难懂的话题.从入门知识入手,演示如何为范例程序添加Core Data 支持,后续章节再依次讨论更复杂的话题. 1.1. Core Data 是什 ...
- 读Lua游戏开发实践指南
11月11日开读,到今天正好一个月. 起因是被裁员之后,发现很多公司都在使用lua编写cocos2d-x游戏,原因是上手快,技术人员比较便宜. 如果引擎封装比较好,几乎在lua里写写基本逻辑就行了,不 ...
随机推荐
- (原创)vagrant up 异常报错,出现 There was an error while executing `VBoxManage` 的解决方法
最近在使用 vagrant homestead 时,不小心在虚拟机上使用了 exit 命令退出虚拟机,导致再使用 vagrant up 时出现以下错误: Bringing machine 'larav ...
- 基于jquery扩展漂亮的分页控件(ajax)
分页控件式大家在熟悉不过的控件,很多情况下都需要使用到分页控件来完成列表数据加载操作,在很多分页控件中有的编写麻烦,有的应用扩展比较复杂,有的分页控件样式比较丑陋,有的分页控件用户体验操作比较简单等等 ...
- PowerDesigner实用技巧小结(3)
PowerDesigner实用技巧小结(3) PowerDesigner 技巧小结 sqlserver数据库databasevbscriptsqldomain 1.PowerDesigner 使用 M ...
- 关系数据库 范式(NF: Normal Form) 说明
关系数据库 范式(NF: Normal Form) 说明 数据库电话insertdelete存储oracle 目录(?)[+] 一.范式概述(NF:NormalForm) 数据库的设计范式是数 ...
- IE下载打印文件的时候,下载打印闪一下就没有了
这是因为我们的浏览器没有将文件下载的自动提示设为启用.点击IE菜单栏中的“工具”—“Internet选项”-安全—可信站点—自定义级别 1,添加信任站点 打开IE浏览器,输入需要下载文件的地址 选择[ ...
- git codes
https://github.com/chibi-guts/DressUpProject https://github.com/TuttiFruttiFT/TFAndroid https://gith ...
- 《Java并发编程实战》第十一章 性能与可伸缩性 读书笔记
造成开销的操作包含: 1. 线程之间的协调(比如:锁.触发信号以及内存同步等) 2. 添加�的上下文切换 3. 线程的创建和销毁 4. 线程的调度 一.对性能的思考 1 性能与可伸缩性 执行速度涉及下 ...
- Java和.NET下socket转换错误记录
一个项目,需要JAVA的Socket客户端转换为C#的Socket客户端,使用的是短连接. 首先,java客户端代码如下: Socket socket = new Socket(); socket.c ...
- CMS漏洞
例1, discuz!后台弱口令/暴力破解 1.http://club.lenovo.com.cn/admin.php
- python--字典工厂函数dict()
dic = {"name" : "wangmo" ,"age" : 18} #dic.clear() #清空字典 print(dic) #{ ...