javascript简单性能问题及学习笔记

1、<script>标签应越少越好(虽然有多个也不会导致程序报错),因为每个<script>标签初始下载时都会阻塞页面渲染
2、<script>标签尽量不要放在页面上方,尽量放在<body>内的最下面,因为每个<script>在执行的时候,都会下载对应的js文件,浏览器会等待所有js/css下载完成才显示出页面
3、当需要导入多个js文件的时候,一般情况下我们都是写两个<script src="..." />,实际上是支持一次性导入多个的,例如:<script src="file1.js&file2.js" />
4、<script>标签中有一个属性:defer,该属性指明本元素所含的脚本不会修改DOM,因此代码能安全地延迟执行,但是该属性只有IE4+和Firefox3.5+浏览器支持,希望大家使用的时候注意,如果其他浏览器,则会被直接忽略,使用例子:

<script type="text/javascript" src="file1.js" defer />

,测试验证defer属性示例:

代码如下:

<script defer>alert("defer");</script> 
<script>alert("script");</script> 
<script> 
window.onload = function() { 
alert("load"); 
}; 
</script>

这段代码在我们正常理解下执行顺序应该是:defer、script、load,但是如果在支持defer的浏览器上顺序则是:script、defer、load,这里需要注意的是:defer不是跟在script后面执行,而是在onload事件处理之前被调用。

时间有限,今天先记录这么多吧

(0)

相关推荐

  • javascript简单性能问题及学习笔记

    1.<script>标签应越少越好(虽然有多个也不会导致程序报错),因为每个<script>标签初始下载时都会阻塞页面渲染 2.<script>标签尽量不要放在页面上方,尽量放在<body>内的最下面,因为每个<script>在执行的时候,都会下载对应的js文件,浏览器会等待所有js/css下载完成才显示出页面 3.当需要导入多个js文件的时候,一般情况下我们都是写两个<script src="..." />,实际

  • javascript设计模式之单体模式学习笔记

    单体模式提供了一种将代码组织为一个逻辑单元的手段,这个逻辑单元中的代码可以通过单一变量进行访问. 单体模式的优点是: 可以用来划分命名空间,减少全局变量的数量. 使用单体模式可以使代码组织的更为一致,使代码容易阅读和维护. 可以被实例化,且实例化一次. 什么是单体模式?单体模式是一个用来划分命名空间并将一批属性和方法组织在一起的对象,如果它可以被实例化,那么它只能被实例化一次. 但是并非所有的对象字面量都是单体,比如说模拟数组或容纳数据的话,那么它就不是单体,但是如果是组织一批相关的属性和方法在

  • javascript设计模式之策略模式学习笔记

    1. 理解javascript中的策略模式 策略模式的定义是:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换. 使用策略模式的优点如下: 优点: 1. 策略模式利用组合,委托等技术和思想,有效的避免很多if条件语句. 2. 策略模式提供了开放-封闭原则,使代码更容易理解和扩展. 3. 策略模式中的代码可以复用. 一:使用策略模式计算奖金: 下面的demo是我在书上看到的,但是没有关系,我们只是来理解下策略模式的使用而已,我们可以使用策略模式来计算奖金问题: 比如公司的年终奖是根据

  • Bootstrap简单表单显示学习笔记

    表单布局 垂直或基本表单 基本的表单结构时BootStrap自带的,创建基本表单的步骤如下: 1.向父<form>元素添加role = "form": 2.为了获取最佳的间距,把标签和控件放在一个div.form-group中,div放在父form下: 3.向所有的文本元素<input>.<textarea>和<select>添加.form-control <!DOCTYPE html> <html> <he

  • javascript中的with语句学习笔记及用法

    在JS中,with 语句的作用是将代码的作用域设置到一个特定的对象中.其语法如下:with (expression) statement; 定义 with 语句的目的主要是为了简化多次编写同一个对象的工作,如下面的代码: var qs = location.search.substring(1); var hostName = location.hostname; var url = location.href; 上面几行代码都包含 location 对象.如果使用 with 语句,可以把上面的

  • javascript设计模式之模块模式学习笔记

    我们通过单体模式理解了是以对象字面量的方式来创建单体模式的:比如如下的对象字面量的方式代码如下: var singleMode = { name: value, method: function(){ } }; 模块模式的思路是为单体模式添加私有变量和私有方法能够减少全局变量的使用:如下就是一个模块模式的代码结构: var singleMode = (function(){ // 创建私有变量 var privateNum = 112; // 创建私有函数 function privateFun

  • 重温JavaScript中的正则表达式 js学习笔记

    一.创建正则表达式 创建正则表达式和创建字符串类似 , 创建正则表达式提供了两种方法 , 一种是采用 new运算符,另一个是采用字面量方式. 复制代码 代码如下: var dog = new RegExp('dog'); // 第一个参数字符串 var dog = new RegExp('dog', 'ig'); // 第二个参数可选模式修饰符 var dog = /dog/; var dog = /dog/ig; //字面量方式. RegExp 对象包含两个方法 : test() 和 exec

  • JavaScript高级程序设计 客户端存储学习笔记

    第十九章 客户端存储 1.cookie ①最初是在客户端用于存储会话信息的. 1.1 限制 ①cookie在性质上是绑定在特定的域名下的.当设定了一个cookie后,再给创建它的域名发送请求时,都会包含这个cookie. ②cookie的限制: □IE6以及更低版本限制每个域名最多20个cookie. □IE7和之后版本每个域名最多50个cookie. □Firefox50个 □Opera50个 □Safari和Chrome无硬性规定 ③cookie尺寸限制:4096字节(加减1)的长度限制.尺

  • 某人初学javascript的时候写的学习笔记

    复制代码 代码如下: /* * JavaScript对象就是一组属性(方法)的集合 * 在该语言中如果变量名或方法名不符合声明规范, * 则一定得用方括号" [] "引用它 * */ /** * <1.>该语句声明了一个class1类,class1相当于构造方法,又叫构造器 * 也可说声明了一个class1方法 */ function class1(){ this.name="xjl"; //给对象添加属性 this.say= function(){al

  • JavaScript闭包原理与用法学习笔记

    本文实例讲述了JavaScript闭包原理与用法.分享给大家供大家参考,具体如下: 闭包(Closure) 闭包是一个函数和词法环境的组合,函数声明在这个词法环境中. 词法作用域: 看下面的一个例子: function init() { var name = 'GaoPian'; // name是局部变量 function displayName() { //displayName();是内部函数,一个闭包 alert(name); // 使用外部函数声明的变量 } displayName();

随机推荐