1. 闭包（Closures）：
``````function outerFunction() {
var outerVariable = 'Hello';

function innerFunction() {
console.log(outerVariable);
}

return innerFunction;
}

var myFunction = outerFunction();
myFunction(); // 输出：Hello``````

1. 高阶函数（Higher-Order Functions）：
``````function greet(name) {
console.log('Hello, ' + name + '!');
}

function repeat(func, times) {
for (var i = 0; i < times; i++) {
func();
}
}

repeat(function() {
greet('Alice');
}, 3);``````

1. 函数柯里化（Currying）：
``````function add(x) {
return function(y) {
return x + y;
}
}

1. 原型链继承（Prototype Chain Inheritance）：
``````function Animal(name) {
this.name = name;
}

Animal.prototype.sound = function() {
console.log('Animal makes a sound');
};

function Dog(name) {
Animal.call(this, name);
}

Dog.prototype = Object.create(Animal.prototype);
Dog.prototype.constructor = Dog;

Dog.prototype.sound = function() {
console.log('Dog barks');
};

var dog = new Dog('Buddy');
dog.sound(); // 输出：Dog barks``````

1. 生成器（Generators）：
``````function* fibonacci() {
var prev = 0;
var curr = 1;

while (true) {
yield curr;
var temp = prev;
prev = curr;
curr = prev + temp;
}
}

var fib = fibonacci();

console.log(fib.next().value); // 输出：1
console.log(fib.next().value); // 输出：1
console.log(fib.next().value); // 输出：2
console.log(fib.next().value); // 输出：3``````