欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JavaScript变量作用域、封闭函数、闭包、内置对象

程序员文章站 2023-01-23 21:47:08
javascript变量作用域、封闭函数、闭包、内置对象 变量作用域 变量作用域指的是变量的作用范围,javascript 中的变量分为全局变量和局部变量。 1、全局变量:在...
javascript变量作用域、封闭函数、闭包、内置对象

变量作用域

变量作用域指的是变量的作用范围,javascript 中的变量分为全局变量和局部变量。

1、全局变量:在函数之外定义的变量,为整个页面公用,函数内部外部都可以访问。

2、局部变量:在函数内部定义的变量,只能在定义该变量的函数内部访问,外部无法访问。

封闭函数

封闭函数是 javascript 中匿名函数的另外一种写法,创建一个一开始就执行而不用命名的函数。

一般定义的函数和执行函数:

function changecolor(){

var odiv = document.getelementbyid('p1');

odiv.style.color = 'red';

}

changecolor();

封闭函数:

(function(){

var odiv = document.getelementbyid('p1');

odiv.style.color = 'red';

})();

还可以在函数定义前加上“~”和“!”等符号来定义匿名函数

!function(){

var odiv = document.getelementbyid('p1');

odiv.style.color = 'red';

}()

闭包

什么是闭包

函数嵌套函数,内部函数可以引用外部函数的参数和变量,参数和变量不会被垃圾回收机制收回

用处

1、将一个变量长期驻扎在内存当中,可用于循环中存索引值

2、私有变量计数器,外部无法访问,避免全局变量的污染

内置对象

1、document

document.referrer //获取上一个跳转页面的地址(需要服务器环境)

2、location

window.location.href //获取或者重定url地址

window.location.search //获取地址参数部分

window.location.hash //获取页面锚点或者叫哈希值

3、math

math.random 获取0-1的随机数

math.floor 向下取整

math.ceil 向上取整