浅谈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 相关文章推荐
window.open以post方式将内容提交到新窗口
Dec 26 Javascript
jquery 层次选择器siblings与nextAll的区别介绍
Aug 02 Javascript
JavaScript中获取鼠标位置相关属性总结
Oct 11 Javascript
jquery实现简单的自动播放幻灯片效果
Jun 13 Javascript
JavaScript的面向对象编程基础
Aug 13 Javascript
jQuery实现内容定时切换效果完整实例
Apr 06 Javascript
JS/jQ实现免费获取手机验证码倒计时效果
Jun 13 Javascript
js判断文件格式及大小的简单实例(必看)
Oct 11 Javascript
JavaScript实现打印星型金字塔功能实例分析
Sep 27 Javascript
Angular5.1新功能分享
Dec 21 Javascript
Vue进度条progressbar组件功能
Apr 17 Javascript
详解从vue-loader源码分析CSS Scoped的实现
Sep 23 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
PHP加密解密类实例代码
2016/07/20 PHP
PHP中串行化用法示例
2016/11/16 PHP
PHP耦合设计模式实例分析
2018/08/08 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
2021/03/09 PHP
[原创]保存的js无法执行的解决办法
2007/02/25 Javascript
jquery实现图片等比例缩放以及max-width在ie中不兼容解决
2013/03/21 Javascript
javascript图片相似度算法实现 js实现直方图和向量算法
2014/01/14 Javascript
jQuery拖拽div实现思路
2014/02/19 Javascript
Jquery+asp.net后台数据传到前台js进行解析的方法
2014/05/11 Javascript
TinyMCE提交AjaxForm获取不到数据的解决方法
2015/03/05 Javascript
JS与jQuery实现子窗口获取父窗口元素值的方法
2017/04/17 jQuery
Javascript继承机制详解
2017/05/30 Javascript
Javascript实现运算符重载详解
2018/04/07 Javascript
NodeJs项目中关闭ESLint的方法
2018/08/09 NodeJs
使用layui的layer组件做弹出层的例子
2019/09/27 Javascript
VUE使用axios调用后台API接口的方法
2020/08/03 Javascript
用python代码做configure文件
2014/07/20 Python
python matplotlib中文显示参数设置解析
2017/12/15 Python
Python File(文件) 方法整理
2019/02/18 Python
Python3转换html到pdf的不同解决方案
2019/03/11 Python
pyinstaller打包单个exe后无法执行错误的解决方法
2019/06/21 Python
Django ORM多对多查询方法(自定义第三张表&ManyToManyField)
2019/08/09 Python
小 200 行 Python 代码制作一个换脸程序
2020/05/12 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
HTML5 manifest离线缓存的示例代码
2018/08/08 HTML / CSS
实习自我鉴定范文
2013/10/30 职场文书
股权转让协议书
2014/04/12 职场文书
服务之星事迹材料
2014/05/03 职场文书
教师党员岗位承诺书
2014/05/29 职场文书
授权委托书(法人单位用)
2014/09/29 职场文书
六查六看自检自查剖析材料
2014/10/14 职场文书
新郎新娘答谢词
2015/01/04 职场文书
公司开除员工通知
2015/04/22 职场文书
自从在 IDEA 中用了热部署神器 JRebel 之后,开发效率提升了 10(真棒)
2021/06/26 Java/Android
python实现Nao机器人的单目测距
2021/09/04 Python
Java基于Dijkstra算法实现校园导游程序
2022/03/17 Java/Android