浅谈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函数
Sep 08 Javascript
编写可维护面向对象的JavaScript代码[翻译]
Feb 12 Javascript
javascript获取网页中指定节点的父节点、子节点的方法小结
Apr 24 Javascript
Javascript封装DOMContentLoaded事件实例
Jun 12 Javascript
node爬取微博的数据的简单封装库nodeweibo使用指南
Jan 02 Javascript
JavaScript判断前缀、后缀是否是空格的方法
Apr 15 Javascript
JavaScript多图片上传案例
Sep 28 Javascript
vue.js中v-on:textInput无法执行事件问题的解决过程
Jul 12 Javascript
Javascript快速实现浏览器系统通知
Aug 26 Javascript
当vue路由变化时,改变导航栏的样式方法
Aug 22 Javascript
深入理解移动前端开发之viewport
Oct 19 Javascript
vue-cli在 history模式下的配置详解
Nov 26 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实现MySQL更新记录的代码
2008/06/07 PHP
用PHP读取RSS feed的代码
2008/08/01 PHP
mayfish 数据入库验证代码
2010/04/30 PHP
PHP 之 写时复制介绍(Copy On Write)
2014/05/13 PHP
PHP微信开发之微信消息自动回复下所遇到的坑
2016/05/09 PHP
PHP实现时间日期友好显示实现代码
2019/09/08 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
2019/09/30 PHP
在网页中控制wmplayer播放器
2006/07/01 Javascript
总结AJAX相关JS代码片段和浏览器模型
2007/08/15 Javascript
javascript 屏蔽鼠标键盘的几段代码
2008/01/02 Javascript
jquery each()源代码
2011/02/14 Javascript
js 金额文本框实现代码
2012/02/14 Javascript
jQuery移除元素自动解绑事件实现思路及代码
2014/05/31 Javascript
javascript的document.referrer浏览器支持、失效情况总结
2014/07/18 Javascript
javascript引用类型之时间Date和数组Array
2015/08/27 Javascript
node.js 利用流实现读写同步,边读边写的方法
2017/09/11 Javascript
vue webpack实用技巧总结
2018/04/24 Javascript
详解用JS添加和删除class类名
2019/03/25 Javascript
浅析js实现网页截图的两种方式
2019/11/01 Javascript
vue中touch和click共存的解决方式
2020/07/28 Javascript
js实现表格数据搜索
2020/08/09 Javascript
Pycharm学习教程(4) Python解释器的相关配置
2017/05/03 Python
教你使用python画一朵花送女朋友
2018/03/29 Python
Python实现K折交叉验证法的方法步骤
2019/07/11 Python
利用pyshp包给shapefile文件添加字段的实例
2019/12/06 Python
全网最详细的PyCharm+Anaconda的安装过程图解
2021/01/25 Python
马云的职业生涯规划之路
2014/01/01 职场文书
一分钟演讲稿
2014/04/30 职场文书
爱心倡议书范文
2014/05/12 职场文书
乡镇防汛工作汇报
2014/10/28 职场文书
2015年教师工作总结范文
2015/03/31 职场文书
2015年优质护理服务工作总结
2015/04/08 职场文书
爱心捐助活动总结
2015/05/09 职场文书
外出考察学习心得体会
2016/01/18 职场文书
Python实现简单的猜单词
2021/06/15 Python
Django框架中表单的用法
2022/06/10 Python