昆明普宁区JavaScript培训班哪里有
一章 -内容简介
1.1 发展史
1.2 的特点
1.3 语言和其他语言的比较
1.4 一个 程序
第二章 -基础
2.1 数据类型及变量
2.2 表达式与运算符
2.3 基本语句
第三章 -基础
3.1 条件控制语句
3.2 循环控制语句
3.3 实践练习
第四章 -D0M模型文档对象模型讲解
4.1 函数
4.2 对象
4.3 常用内置对象
4.4 与对象有关的语句
第五章 -事件Js事件
5.1 D0M模型框架
5.2 D0M模型中的节点
5.3 使用D0M
5.4 innerHTML
第六章 事件
6.1 事件流
6.2 事件
6.3 事件对象
第七章-表格与表单
7.1 表格基础
7.2 表单基础
7.3 文本框
第八章 表单验证
8.1 访问表单对象
8.2 访问表单元素
8.3 表单内容验证
第九章 Window对象
9.1 Window对象的属性和方法
9.2 Window对象的几个重要操作
第十章 框架(frame)对象
10.1 框架对象
10.2 框架对象的应用实例
第十一章 jQuery基础
11.1 jquery是什么
11.2 什么是jQuery对象?
11.3 jquery 的”$”
第十二章 jquery 控制页面
1.1 标记的属性
1.2 元素的样式
1.3 页面的元素
第十三章 Jquery制作动画与**
13.1 元素的显示与隐藏
13.2 渐入渐出的变幻
13.3 幻灯片效果
第十四章Jquery UI 插件
下面的递归代码在数组列表偏大的情况下会导致堆栈溢出。在保留递归模式的基础上,你怎么解决这个问题?
var list = readHugeList();var nextListItem = function() { var item = list.pop(); if (item) { // process the list item...
nextListItem();
}
};
潜在的堆栈溢出可以通过修改nextListItem 函数避免:
var list = readHugeList();var nextListItem = function() { var item = list.pop(); if (item) { // process the list item...
setTimeout( nextListItem, 0);
}
};
堆栈溢出之所以会被消除,是因为事件循环操纵了递归,而不是调用堆栈。当 nextListItem 运行时,如果 item不为空,timeout函数(nextListItem)就会被推到事件队列,该函数退出,因此就清空调用堆栈。当事件队列运行其timeout事件,且进行到下一个 item 时,定时器被设置为再次调用 extListItem。因此,该方法从头到尾都没有直接的递归调用,所以无论迭代次数的多少,调用堆栈保持清空的状态。
17.JavaScript中的“闭包”是什么?请举一个例子。
闭包是一个可以访问外部(封闭)函数作用域链中的变量的内部函数。闭包可以访问三种范围中的变量:这三个范围具体为:(1)自己范围内的变量,(2)封闭函数范围内的变量,以及(3)全局变量。
下面是一个简单的例子:
var globalVar = "xyz";
(function outerFunc(outerArg) { var outerVar = 'a';
(function innerFunc(innerArg) { var innerVar = 'b'; console.log( "outerArg = " + outerArg + "\n" + "innerArg = " + innerArg + "\n" + "outerVar = " + outerVar + "\n" + "innerVar = " + innerVar + "\n" + "globalVar = " + globalVar);
})(456);
})(123);
在上面的例子中,来自于 innerFunc, outerFunc和全局命名空间的变量都在 innerFunc的范围内。因此,上面的代码将输出如下:
outerArg = 123innerArg = 456outerVar = ainnerVar = bglobalVar = xyz
更多培训课程,学习资讯,课程优惠等学校信息,请进入 昆明晋宁区IT培训昆明晋宁区php培训昆明晋宁区java培训 网站详细了解,免费咨询电话:400-998-6158