Rumah >hujung hadapan web >tutorial js >js函数和变量的提升及闭包讲解

js函数和变量的提升及闭包讲解

小云云
小云云asal
2018-03-14 10:24:301521semak imbas

本文主要和大家分享两个重要的知识点,函数和变量的提升和闭包的原理用法详解,希望能帮助到大家。

函数和变量的提升

原理:就是函数及变量的声明都将被提升到函数的最顶部。
结果:变量和函数都支持先试用后声明
案例:

//变量提升x = 5; 
// 变量 x 设置为 5alert(x);var x; 
// 声明 x//函数提升print(5); 
//调用函数function print(y) 
{ //声明函数    return y * y;}

闭包

原理:在函数内嵌套另一个函数(另一个函数则为闭包)
结果:

  1. 在js中没有静态变量,可以将函数内声明的局部变量作为局部变量

  2. 怎么保证局部变量只被调用一次,可以通过变量赋值的方式,也就是首次调用最外层函数,后面都调用闭包

  3. 可以防止其他函数对其进行修改(其他函数可任意对全局变量进行修改)

案例:

function count() 
{    var counter = 0;        
return function ()     
{return counter += 1;}}
var add= count();add();
add();//值为二

相关推荐:

JavaScript中如何判断函数和变量存在的实例代码详解

基础的JavaScript知识总结(十)闭包、立即执行函数

JavaScript中的闭包

Atas ialah kandungan terperinci js函数和变量的提升及闭包讲解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn