技术分享|Javascript高级教程学习指南
上个月月初我们分享了一篇JavaScript的前世今生,了解了JS的基础内容。
本篇文章,我们将进入JavaScript高级课程的学习,为大家分享JavaScript高级教程所涵盖的知识要点。
引言
一、JavaScript概述
“JavaScript是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。“
它是一种编程语言,可以帮助我们在网页上实现复杂而美观的设计。如果你希望网页看起来生动活泼,可以实现和用户的交互,那么使用JavaScript是必须的。
二、JavaScript的功能
- 它是一种脚本语言,与Java无关。最初,它的名称为Mocha,然后更改为LiveScript,最后它的名称为JavaScript。
- JavaScript是一种基于对象的编程语言,还支持多态性,封装和继承。
- 不仅可以在浏览器中运行JavaScript,还可以在服务器和任何具有JavaScript引擎的设备上运行JavaScript 。
高级功能
一、递归(Recursion)
递归是一种编程模式,可以在任务自然地拆分为相同类型但更简单的多个子任务的情况下提供帮助。或者可以将一项任务简化为同一任务的简单操作和更简单的变体。
在解决任务的过程中,一个函数可以调用许多其他函数, 但是当函数调用自身时的情况,称为递归。
例如:
function pow(x, n) {
if (n == 1) {
return x;
} else {
return x * pow(x, n - 1);
}
}
alert( pow(2, 4) ); // 16
在上面的示例中,递归函数简化了任务并对其进行了调用。
二、闭包(Closure)
JavaScript是一种面向函数的语言。你可以动态创建一个函数,将其复制到另一个变量,或者将其作为参数传递给另一个函数,然后从另一个完全不同的地方进行调用。
闭包就是能够读取其他函数内部变量的函数。例如在javascript中,只有函数内部的子函数才能读取局部变量,所以闭包可以理解成“定义在一个函数内部的函数“。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。
例如:
var add = (function () {
var counter = 0;
return function () {
counter += 1; return counter}
})();
add();
add();
// the counter is now 2
三、新函数-new Function()
“new Function()”语法是创建函数的另一种方法。它很少使用,但有时别无选择。
语法:
let func = new Function ([arg1, arg2, ...argN], functionBody);
该函数由参数arg1…argN和给定的functionBody组成。
例如:
let sum = new Function('a', 'b', 'return a + b');
alert( sum(1, 2) ); // 3
在这里,该函数实际上是从字符串创建的,该字符串在运行时传递。你需要在脚本中编写函数代码。但是“new Function”允许将任何字符串转换为函数。
四、箭头函数-Arror Function
箭头函数是匿名的,并会更改其绑定函数的方式。它使我们的代码更简洁,并简化了函数作用域和“this”关键字。
但是箭头函数不仅仅是让我们的代码编写更简洁, 它们还具有一些非常具体和有用的功能。 假设需要编写一个在其他地方执行的函数,例如:
- arr.forEach(func)-func由forEach为每个数组项目执行。
- setTimeout(func)– func由内置调度程序执行。
在这种功能中,我们通常不想离开当前上下文,此时箭头函数就能派上用场。
例如:
//箭头函数:
hello = () => {
document.getElementById("demo"