Juicer – 一个Javascript模板引擎的实现和优化
让我们从一段代码说起,假设有一段这样的JSON数据:
var json={name:"流火",blog:"benben.cc"
};
我们需要根据这段JSON生成这样的HTML代码:
<span class="name">流火 (blog: benben.cc)</span>
传统的Javascript代码一定是这个样子:
var html;
html='<span class="name">'+json.name+' (blog: '+json.blog+')</span>';
不言而喻,这样的代码混杂了html...
阅读全文
Javascript 异步加载详解
本文总结一下浏览器在 javascript 的加载方式。
关键词:异步加载(async loading),延迟加载(lazy loading),延迟执行(lazy execution),async 属性, defer 属性
一、同步加载与异步加载的形式
1. 同步加载
我们平时最常使用的就是这种同步加载形式:
<script src="http://yourdomain.com/script.js"></script>
同步模式,又称阻塞模式,会阻止浏览器的后续处理,停止了后续...
阅读全文
在Javascript中,当只声明变量,js默认初始化为undefined
测试如下:
var r;
alert(Object.prototype.toString.call(null)); //< [object Null]
alert(Object.prototype.toString.call(undefined)); //< [object Undefined]
alert(Object.prototype.toString.call(r)); //< [object Undefined]
alert(typeof null); //&...
阅读全文
今天看了一段YUI compressor压缩的js代码:
1
userNum
&& (ind += index,ind >= userNum && (ind -= userNum),ind < 0 && (ind === -2 && (ind = -1),ind += userNum),selLi.removeClass("on"),$(selLi[ind]).addClass("on"));
直接疯掉了,估计一下子没几个人能看懂。那么就把他“翻译”一下。
&& (逻辑与)
这里主要是一个“&&”运算,首先要搞懂这...
阅读全文
转自:http://bbs.html5cn.org/forum.php?mod=viewthread&tid=2904&extra=
本文主要介绍怪异的Javascript,毋庸置疑,它绝对有怪异的一面。当软件开发者开始使用世界上使用最广泛的语言编写代码时,他们会在这个过 程中发现很多有趣的“特性”。即便是老练的Javascript开发者也可以在本文找到一些有趣的新陷阱,请留意这些陷阱,当然也可以尽情享受由这些陷阱
带来的“乐趣”!
函数和操作符
双等号(严格使用===替代==...
阅读全文
原生JavaScript下的DOM操作
2011-05-29
JQuery确实是个很好用的库,你可以不用考虑很多细节方面的事情。但很作为一个web前端,处理和了解浏览器差异一个重要问题。下面将介绍一些总结,先介绍没有使用js库的情况。
1. setAttribute方法设置元素类名
在jQuery中,直接使用attr()方法即可,可在原生的JS中,
1
//这个是W3C的标准,在兼容W3C标准的浏览器中有效,可是,IE才是国内用户的主旋律
2
element...
阅读全文
关于iframe自适应高度的讨论可以先看看口碑UED的博客 http://ued.koubei.com/?p=1217
大概原理见下图:
可以直接看示例:http://lzlu.com/lab/loader/
下面直接上代码了
下面是核心代码loader.js
/**
* 跨域iframe自适应高度解决方案
* Author: changyin@taobao.com <http://www.lzlu.com>
* Copyright (c) 2011, Taobao Inc. All rights reserved.
*/
var Loader = new function(){
var doc = docu...
阅读全文
iframe 和 frame 的区别
2010-03-08
iframe标记的使用
提起iframe,可能你早已将之扔到“被遗忘的角落”了,不过,说起其兄弟frame就不会陌生了。frame标记即帧标记,我们所说的多帧结构就是在一个浏览器窗口中显示多个HTML文件。现在,我们遇到一种很现实的情况:如有一个教程,是一节一节地上,每页末尾做一个“上一节“、“下一节“的链接,除了每节教程内容不同之外,页面其它部分内容都是相同的,如果一页一页地做笨页面,...
阅读全文
本文地址: http://www.laruence.com/2009/09/23/1089.html
转载文章
转帖地址:http://www.9demo.com/archives/341
容易欺骗别人感情的JavaScript定时器
JavaScript的setTimeout与setInterval是两个很容易欺骗别人感情的方法,因为我们开始常常以为调用了就会按既定的方式执行, 我想不少人都深有同感, 例如
setTimeout(function() {
alert('你好!');
}, 0);
setInterval(callbackFunction, 100);
认为setTimeout...
阅读全文
本文地址: http://www.laruence.com/2009/09/08/1076.html
转载请注明出处
Javascript是一种很灵活的语言, 而This关键字又是灵活中的灵活, 但是因为它的灵活, 也注定了它的难用.
以前我用this的时候, 都会觉得不踏实, 老是担心它不知道怎么地就会指到另外的什么地方.
其实, 这都是因为, 我们对它的不了解.
刚好最近再给百度学院做《Javascript高级-作用域/原型链》的ppt, 而swit1983网友也刚好提这个问题, 索性就把...
阅读全文