没有合适的资源?快使用搜索试试~ 我知道了~
JavaScript实用知识库分享
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 98 浏览量
2023-11-10
17:29:08
上传
评论
收藏 3.21MB PDF 举报
温馨提示
试读
162页
资源JavaScript实用知识库分享知识分享
资源推荐
资源详情
资源评论
JavaScript
目录
JavaScript 1
第1篇 创建Ajax对象 2
第2篇 斐波那契数列 4
第3篇 控制窗口的位置与大小 5
第4篇 使用navigator对象 6
第5篇 JavaScript迭代:forEach、every、some、map、filter、find、findIndex、for in、includes 8
第6篇 JavaScript: sort函数 14
第7篇 JavaScript数组(1):定义数组、使用数组 16
第8篇 JavaScript数组(2):使用数组对象 19
第9篇 JavaScript函数(1):定义函数、使用参数 23
第10篇 JavaScript函数(2):使用函数对象、使用闭包函数 27
第11篇 JavaScript使用对象(1):创建对象、操作属性 31
第12篇 JavaScript使用对象(2):使用方法、使用原型 36
第13篇 DOM操作 40
第14篇 事件处理(1)—— 事件基础:事件流、绑定事件、注册与销毁事件、event对象、事件托管
44
第15篇 事件处理(2)—— 鼠标事件、键盘事件 48
第16篇 事件处理(3):使用页面事件(页面初始化、窗口重置、页面滚动、错误处理)、使用
UI事件(焦点处理、选择文本、字段值变换检测、剪切板数据) 55
第17篇 使用Ajax实现异步通信(1):使用XML数据 58
第18篇 使用Ajax实习异步通信(2):使用JSON数据 62
第19篇 使用Ajax实现异步通信(3):使用Ajax 65
第20篇 本地数据存储(1):使用cookie、cookie案例——打字游戏 70
第21篇 本地数据存储(2):localStorage、sessionStorage、设计网页皮肤、设计计数器 74
第22篇 异步编程:异步、promise 79
第23篇 正则表达式 84
第24篇 ES6学习记录 86
第25篇 js回调函数 97
第26篇 前端复制、剪切、禁止复制等 98
第27篇 Web API:Animation 105
第28篇 JavaScript动画库:Anime.js 109
第29篇 Web API:ResizeObserver——监听元素大小的变化 131
第30篇 借助CSS来管理js事件 135
第31篇 实现一个简单的 ctrl+ f 搜索 139
第32篇 如何实现JS主动触发事件 152
第33篇 前端设计模式:工厂方法模式、单例模式、订阅模式、中介者模式 154
第34篇 JavaScript实现页面元素拖放操作 160
第1篇 创建Ajax对象
备注:来源于JavaScript从入门到精通
通过jQuery使用Ajax
使用if语句直接实现定义XMLHttpRequest实例对象
script type< ="text/javascript">
function createXHR() {
XMLHttpRequest if(typeof != 'undefined') {
return new XMLHttpRequest();
ActiveXObject } else if(typeof != 'undefined') {
arguments callee activeXString if(typeof . . !=
'string') { // activeXString
versions = ["MSXML2.XMLHttp", "MSXML
2.XMLHttp.3.0", "MSXML2.XMLHttp.6.0"];
i len versions lengthfor(var = 0, = . ;
i len i < ; ++) {
try {
xhr var = new Active
versions iXObject( [ ]);
arguments callee act. .
iveXString versions i= [ ];
xhrreturn ;
e } catch( ) {
//
}
}
arguments calreturn newActiveXObect( .
lee activeXString. );
} else {
throw new Error("No XHR object
available.");
}
}
}
xhrvar =createXHR();
console xhr.log( );
script</ >
解释的话,从网上发现了一个解释很详细:
点此查看解释
每一次调用createXHR()的时候都要对浏览器所支持的能力进行检查,这就会进行重复测试,这是
没有必要的
解决:使用惰性载入函数定义XMLHttpRequest实例对象
备注:什么是惰性载入函数不太清楚,不过代码还是可以理解
script type< ="text/javascript">
function createXHR() {
XMLHttpRequest if(typeof != 'undefined') {
第1篇 创建Ajax对象
第 1 页 /共
160 页
createXHR = function() {
return new XMLHttpRequest();
};
ActiveXObject } else if(typeof != 'undefined') {
createXHR = function() {
arguments callee activeXStif(typeof . .
ring != 'string') {
versions = ["MSXML2.XMLHttp",
"MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp.6.0"];
i len for(var = 0, =
versions length i len i . ; < ; ++) {
try {
xhr var = new
versions iActiveXObject( [ ]);
arguments ca.
llee activeXString versions i. = [ ];
xhrreturn ;
e } catch( ) {
//
}
}
}
arguments calreturn newActiveXObect( .
lee activeXString. );
};
} else {
createXHR = function() {
throw new Error("No XHR object
available.");
};
}
return createXHR();
}
xhr var = createXHR();
console xhr.log( );
script</ >
if语句的每一个分支都会为createXHR()变量赋值,有效覆盖了原有函数。最后一步便是调用新赋
值的函数。下次调用createXHR()的时候就会直接调用被分配的函数,这样就不会在次执行if语句
了
第1篇 创建Ajax对象
第 2 页 /共
160 页
第2篇 斐波那契数列
斐波那契数列:
start var = new Date().getTime();
n var fibonacci = function( ) {
n n n n return < 2 ? : fibonacci( - 1) + fibonacci( - 2);
}
document.write(fibonacci(30));
end var = new Date().getTime();
console end start .log("" + ( - ) + ""); //31
优化:
1、函数可以利用对象取记住先前操作的结果,从而避免无谓的运算。这种优化被称之为记忆,
JavaScript的对象和数组要实现这种优化是非常方便的
2、先使用一个临时数组保存存储结果,存储结果可以隐藏在闭包中。当函数被调用时,先看是否
已经知道存储结果。如果已经知道,就立即返回这个存储的结果
script type< ="text/javascript">
start var = new Date().getTime();
fibonacci n var = (function( ) {
memo var = [0, 1];
n var fib = function( ) {
result memo nvar = [ ];
result if(typeof !== 'number') { //
result n n= fib( - 1) + fib( -2);
memo n result[ ] = ;
}
result return ; //
};
fibreturn ;
}());
document.write(fibonacci(30));
end var = new Date().getTime();
console end start .log("" + ( - ) + ""); //3
第2篇 斐波那契数列
第 3 页 /共
160 页
剩余161页未读,继续阅读
资源评论
北极象
- 粉丝: 1w+
- 资源: 345
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功