浅谈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 相关文章推荐
js异或加解密效果代码
Jun 25 Javascript
基于jquery的分页控件(C#)
Jan 06 Javascript
jQuery仿天猫实现超炫的加入购物车
May 04 Javascript
vue-router路由简单案例介绍
Feb 21 Javascript
JS将unicode码转中文方法
May 08 Javascript
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
Jan 26 Javascript
js实现全选反选不选功能代码详解
Apr 24 Javascript
基于JS实现前端压缩上传图片的实例代码
May 14 Javascript
微信js-sdk 录音功能的示例代码
Nov 01 Javascript
JavaScript数组类型Array相关的属性与方法详解
Sep 08 Javascript
keep-alive保持组件状态的方法
Dec 02 Javascript
JavaScript实现点击切换功能
Jan 27 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设计模式 Observer(观察者模式)
2011/06/26 PHP
php中长文章分页显示实现代码
2012/09/29 PHP
Window下PHP三种运行方式图文详解
2013/06/11 PHP
探讨:web上存漏洞及原理分析、防范方法
2013/06/29 PHP
PHP多态代码实例
2015/06/26 PHP
PHP单例模式详细介绍
2015/07/01 PHP
php目录拷贝实现方法
2015/07/10 PHP
PHP中CheckBox多选框上传失败的代码写法
2017/02/13 PHP
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
PHP获取MySQL执行sql语句的查询时间方法
2018/08/21 PHP
javascript instanceof 内部机制探析
2010/10/15 Javascript
jQuery带进度条全屏图片轮播特效代码分享
2020/06/28 Javascript
jQuery+PHP星级评分实现方法
2015/10/02 Javascript
Javascript数组循环遍历之forEach详解
2016/11/07 Javascript
JS实现浏览器打印、打印预览示例
2017/02/28 Javascript
ReactNative踩坑之配置调试端口的解决方法
2017/07/28 Javascript
vue使用原生js实现滚动页面跟踪导航高亮的示例代码
2018/10/25 Javascript
使用NestJS开发Node.js应用的方法
2018/12/03 Javascript
ES6 Symbol数据类型的应用实例分析
2019/06/26 Javascript
微信小程序框架的页面布局代码
2019/08/17 Javascript
js判断一个对象是数组(函数)的方法实例
2019/12/19 Javascript
js面向对象封装级联下拉菜单列表的实现步骤
2021/02/08 Javascript
Python中__init__和__new__的区别详解
2014/07/09 Python
python实现2048小游戏
2015/03/30 Python
python通过post提交数据的方法
2015/05/06 Python
python编程之requests在网络请求中添加cookies参数方法详解
2017/10/25 Python
python实现二叉查找树实例代码
2018/02/08 Python
django2笔记之路由path语法的实现
2019/07/17 Python
python 导入数据及作图的实现
2019/12/03 Python
python 装饰器重要在哪
2021/02/14 Python
开学典礼主持词
2014/03/19 职场文书
合作意向协议书范本
2014/03/31 职场文书
就业协议书盖章的注意事项
2014/09/28 职场文书
2015年思想品德教学工作总结
2015/07/22 职场文书
Redis之RedisTemplate配置方式(序列和反序列化)
2022/03/13 Redis
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
2022/04/14 Python