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 向上取整
上一篇: 一个简单的网上书城的例子(七)
下一篇: 一个提供用户输入时期的绝好程序之(二)