浅谈JS封闭函数、闭包、内置对象


Posted in Javascript onJuly 18, 2017

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

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

2、局部变量:在函数内部定义的变量,只能在定义该变量的函数内部访问,外部无法访问。函数内部访问变量时,先在内部查找是否有此变量,如果有,就使用内部,如果没有,就去外部查找

浅谈JS封闭函数、闭包、内置对象

浅谈JS封闭函数、闭包、内置对象

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

1、一般函数的定义和执行函数

2、封闭函数的定义和执行:(function(){...})();还可以在函数定义前加上"~"或者"!"符号来定义匿名函数。

浅谈JS封闭函数、闭包、内置对象

三、闭包

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

浅谈JS封闭函数、闭包、内置对象

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

浅谈JS封闭函数、闭包、内置对象

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

浅谈JS封闭函数、闭包、内置对象

四、内置对象1、document

比如说在商品详情页观看时,想去购买,这是会跳转到登录页面,登录成功后使用该方法跳转到商品详情页

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

浅谈JS封闭函数、闭包、内置对象

2、location

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

浅谈JS封闭函数、闭包、内置对象

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

浅谈JS封闭函数、闭包、内置对象

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

浅谈JS封闭函数、闭包、内置对象

3、Math

a、Math.random 获取0-1的随机值

浅谈JS封闭函数、闭包、内置对象

b、Math.floor 向下取整

浅谈JS封闭函数、闭包、内置对象

c、Math.ceil 向上取整

浅谈JS封闭函数、闭包、内置对象

以上这篇浅谈JS封闭函数、闭包、内置对象就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 三种编解码方式
Feb 01 Javascript
JS中showModalDialog 的使用解析
Apr 17 Javascript
兼容IE和Firefox火狐的上下、左右循环无间断滚动JS代码
Apr 19 Javascript
JQuery EasyUI 加载两次url的原因分析及解决方案
Aug 18 Javascript
javascript中类的定义方式详解(四种方式)
Dec 22 Javascript
详解AngularJS控制器的使用
Mar 09 Javascript
JavaScript解八皇后问题的方法总结
Jun 12 Javascript
Angular2中Bootstrap界面库ng-bootstrap详解
Oct 18 Javascript
微信小程序 封装http请求实例详解
Jan 16 Javascript
react.js 获取真实的DOM节点实例(必看)
Apr 17 Javascript
Vue通过WebSocket建立长连接的实现代码
Nov 05 Javascript
JS实现4位随机验证码
Oct 19 Javascript
iscroll实现下拉刷新功能
Jul 18 #Javascript
vue.js实现单选框、复选框和下拉框示例
Jul 18 #Javascript
vue2.0中vue-cli实现全选、单选计算总价格的实例代码
Jul 18 #Javascript
iscroll.js滚动加载实例详解
Jul 18 #Javascript
基于iScroll实现下拉刷新和上滑加载效果
Jul 18 #Javascript
jQuery remove()过滤被删除的元素(推荐)
Jul 18 #jQuery
H5基于iScroll实现下拉刷新和上拉加载更多
Jul 18 #Javascript
You might like
咖啡磨器 如何选购一台适合家用的意式磨豆机
2021/03/05 新手入门
Yii查询生成器(Query Builder)用法实例教程
2014/09/04 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
php生成HTML文件的类方法
2019/10/11 PHP
关于jQuery的inArray 方法介绍
2011/10/08 Javascript
使用Math.floor与Math.random取随机整数的方法详解
2013/05/07 Javascript
纯js实现重发验证码按钮倒数功能
2015/04/21 Javascript
JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍
2016/05/19 Javascript
关于JavaScript数组你所不知道的3件事
2016/08/24 Javascript
JavaScript图片处理与合成总结
2018/03/04 Javascript
vue中mint-ui的使用方法
2018/04/04 Javascript
详解vuex结合localstorage动态监听storage的变化
2018/05/03 Javascript
jQuery实现ajax回调函数带入参数的方法示例
2018/06/26 jQuery
在vue中给列表中的奇数行添加class的实现方法
2018/09/05 Javascript
Vue+webpack项目配置便于维护的目录结构教程详解
2018/10/14 Javascript
详解Vue This$Store总结
2018/12/17 Javascript
puppeteer库入门初探
2019/01/09 Javascript
vue elementUI 表单校验功能之数组多层嵌套
2019/06/04 Javascript
微信小程序返回上一级页面的实现代码
2020/06/19 Javascript
[02:25]DOTA2英雄基础教程 熊战士
2014/01/03 DOTA
[11:12]2018DOTA2国际邀请赛寻真——绿色长城OpTic
2018/08/10 DOTA
Python 可爱的大小写
2008/09/06 Python
基于Python socket的端口扫描程序实例代码
2018/02/09 Python
Python+PIL实现支付宝AR红包
2018/02/09 Python
python数据批量写入ScrolledText的优化方法
2018/10/11 Python
python爬虫中PhantomJS加载页面的实例方法
2020/11/12 Python
css3 box-sizing属性使用参考指南
2013/01/08 HTML / CSS
HTML5 Canvas的事件处理介绍
2015/04/24 HTML / CSS
PHP如何自定义函数
2016/09/16 面试题
12岁生日感言
2014/01/21 职场文书
信息技术教学反思
2014/02/12 职场文书
高中英语演讲稿范文
2014/04/24 职场文书
营销与策划实训报告
2014/11/05 职场文书
2014工程部年度工作总结
2014/12/17 职场文书
写给同学的新学期寄语
2015/02/27 职场文书
Redis特殊数据类型HyperLogLog基数统计算法讲解
2022/06/01 Redis