为了提高网站的加载速度,有一个很重要的手段就是在用户浏览过程中的上游网站做一个文件的预加载。预加载文件一般有两种常用的方式:xhr和动态插入节点的方式。动态插入节点是最为简单也最为广泛的一种异步加载方式(例如yui的Get模块),然后使用动态插入节点方法加载的文件都会在加载后立即执行,javascript的执行一方面会占用浏览器js执行进程,另一方面也可能改变页面结构,而css的执行更有可能让整个页面变化。xhr方式虽然不会执行脚本,但是由于同域的限制,且如今网站的静态文件都是部署在cdn服务器上,如何预加载css js文件也变有点玄妙了。
Stoyan Stefanov 撰文简明的阐述了一种加载文件而不会让之执行的方法。原文可见 http://www.phpied.com/preload-cssjavascript-without-execution/
具体的方法是,ie中使用 new Image().src 去预加载文件,而其他浏览器使用动态插入的 <object> 标签来完成加载。
部分代码如下
code
1 window.onload = function () {
2
3 var i = 0,
4 ma ......
为了提高网站的加载速度,有一个很重要的手段就是在用户浏览过程中的上游网站做一个文件的预加载。预加载文件一般有两种常用的方式:xhr和动态插入节点的方式。动态插入节点是最为简单也最为广泛的一种异步加载方式(例如yui的Get模块),然后使用动态插入节点方法加载的文件都会在加载后立即执行,javascript的执行一方面会占用浏览器js执行进程,另一方面也可能改变页面结构,而css的执行更有可能让整个页面变化。xhr方式虽然不会执行脚本,但是由于同域的限制,且如今网站的静态文件都是部署在cdn服务器上,如何预加载css js文件也变有点玄妙了。
Stoyan Stefanov 撰文简明的阐述了一种加载文件而不会让之执行的方法。原文可见 http://www.phpied.com/preload-cssjavascript-without-execution/
具体的方法是,ie中使用 new Image().src 去预加载文件,而其他浏览器使用动态插入的 <object> 标签来完成加载。
部分代码如下
code
1 window.onload = function () {
2
3 var i = 0,
4 ma ......
1.Date
属性(1):
constructor 所建立对象的函数参考
prototype 能够为对象加入的属性和方法
方法(43):
getDay() 返回一周中的第几天(0-6)
getYear() 返回年份.2000年以前为2位,2000(包含)以后为4位
getFullYear() 返回完整的4位年份数
getMonth() 返回月份数(0-11)
getDate() 返回日(1-31)
getHours() 返回小时数(0-23)
getMinutes() 返回分钟(0-59)
getSeconds() 返回秒数(0-59)
getMilliseconds() 返回毫秒(0-999)
getUTCDay() 依据国际时间来得到现在是星期几(0-6)
getUTCFullYear() 依据国际时间来得到完整的年份
getUTCMonth() 依据国际时间来得到月份(0-11)
getUTCDate() &nbs ......
JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。
JSON的规则很简单: 对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。具体细节参考http://www.json.org/json-zh.html
举个简单的例子:
js 代码
function showJSON() {
var user =
{
"username":"andy",
"age":20,
"info": { "tel": "123456", "cellphone": "98765"},
"address":
& ......
一.使用RegisterStartUpScript注册只执行一次的javascript
第1步(创建并注册并使用javascript):Page.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
//创建JavaScript
string info = "<mce:script type="text/javascript"><!--alert('你好,我是XXX!')// --></mce:script>";
//判断Welcome是否已被注册
if (!Page.ClientScript.IsStartupScriptRegistered("Welcome"))
{
//动态注册并执行JavaScript
Page.ClientScript.RegisterStartupScript(this.GetType(), "Welcome", info);
}
}
二.使用RegisterClientScriptBlock注册javascript
第1步(创建并注册javascript):Page.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
//创建JavaScript
string info="";
info += "function showName(username)";
info += "{ alert('您的名字是:'+ username); }";
//判断myName是否已被注册
if (! ......
一.使用RegisterStartUpScript注册只执行一次的javascript
第1步(创建并注册并使用javascript):Page.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
//创建JavaScript
string info = "<mce:script type="text/javascript"><!--alert('你好,我是XXX!')// --></mce:script>";
//判断Welcome是否已被注册
if (!Page.ClientScript.IsStartupScriptRegistered("Welcome"))
{
//动态注册并执行JavaScript
Page.ClientScript.RegisterStartupScript(this.GetType(), "Welcome", info);
}
}
二.使用RegisterClientScriptBlock注册javascript
第1步(创建并注册javascript):Page.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
//创建JavaScript
string info="";
info += "function showName(username)";
info += "{ alert('您的名字是:'+ username); }";
//判断myName是否已被注册
if (! ......
javascript 中this 的用法:
1.<div onclick="// 可以在里面使用this">division element</div> this 指向div
2. <div id="elmtDiv">division element</div>
<script language="javascript">
var div = document.getElementById('elmtDiv');
div.attachEvent('onclick', EventHandler); //attachEvent把div的onclick事件和一个方法绑定
function EventHandler()
{
// 在此使用this
}
</script>在此this 指向window对象,若要引用div对象this.event.srcElement;
3、用DHTML方式在事件处理函数中使用this关键字:
<div id="elmtDiv">division element</div>
<script languag ......
1 javascript 正则
对象创建 和用法
声明javascript 正则
表达式
复制代码
代码如下:
var reCat = new RegExp("cat");
你也可以
var reCat = /cat/; //Perl 风格 (推荐)
2 学习最常用的 test exec match search replace split 6个方法
1) test 检查指定的字符串是否存在
复制代码
代码如下:
var data = "123123";
var reCat = /123/gi;
alert(reCat.test(data)); //true
//检查字符是否存在 g 继续往下走 i 不区分大小写
2) exec 返回查询值
复制代码
代码如下:
var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
var reCat = /cat/i;
alert(reCat.exec(data)); //Cat
3)match 得到查询数组
复制代码
代码如下:
var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
var reCat = /cat/gi;
var arrMactches = data.match(reCat)
for (var i=0;i < arrMactches.length ; i++)
{
alert(arrMactches[i]); //Cat cat
}
4) search 返回搜索位置 类似于indexof
复制代码
代码如下:
var data = "123123,213,12312,312,3,C ......