浅谈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 相关文章推荐
jQuery EasyUI NumberBox(数字框)的用法
Jul 08 Javascript
js 纯数字不重复排列的另类方法
Jul 17 Javascript
js调试工具console.log()方法查看js代码的执行情况
Aug 08 Javascript
JS简单实现数组去重的方法示例
Mar 27 Javascript
Vue.js实战之组件之间的数据传递
Apr 01 Javascript
bootstrapvalidator之API学习教程
Jun 29 Javascript
Vue项目中使用WebUploader实现文件上传的方法
Jul 21 Javascript
Vue+ElementUI项目使用webpack输出MPA的方法
Aug 27 Javascript
解决Vue调用springboot接口403跨域问题
Sep 02 Javascript
vue实现表格过滤功能
Sep 27 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
Jun 28 Javascript
mapboxgl区划标签避让不遮盖实现的代码详解
Jul 01 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截取中文字符串的问题
2006/07/12 PHP
discuz7 phpMysql操作类
2009/06/21 PHP
php中防止伪造跨站请求的小招式
2011/09/02 PHP
php冒泡排序、快速排序、快速查找、二维数组去重实例分享
2014/04/24 PHP
php实现的支持imagemagick及gd库两种处理的缩略图生成类
2014/09/23 PHP
PHP封装CURL扩展类实例
2015/07/28 PHP
PHP图片加水印实现方法
2016/05/06 PHP
PHP5中使用mysqli的prepare操作数据库的介绍
2019/03/18 PHP
一些常用的JS功能函数(2009-06-04更新)
2009/06/04 Javascript
学习JS面向对象成果 借国庆发布个最新作品与大家交流
2009/10/03 Javascript
IFrame跨域高度自适应实现代码
2012/08/16 Javascript
jQuery遍历对象、数组、集合实例
2014/11/08 Javascript
JS实现带有3D立体感的银灰色竖排折叠菜单代码
2015/10/20 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
2016/01/18 Javascript
JQuery ztree 异步加载实例讲解
2016/02/25 Javascript
javascript 继承学习心得总结
2016/03/17 Javascript
node.js从数据库获取数据
2016/05/08 Javascript
用js写的一个路由(简单实例)
2016/09/24 Javascript
jQuery.form.js插件不能解决连接超时(timeout)的原因分析及解决方法
2016/10/14 Javascript
webpack踩坑之路图片的路径与打包
2017/09/05 Javascript
总结javascript三元运算符知识点
2018/09/28 Javascript
JS制作简易计算器的实例代码
2020/07/04 Javascript
vue-cli中实现响应式布局的方法
2021/03/02 Vue.js
用于业余项目的8个优秀Python库
2018/09/21 Python
python 获得任意路径下的文件及其根目录的方法
2019/02/16 Python
python实现的接收邮件功能示例【基于网易POP3服务器】
2019/09/11 Python
HTML5实现的图片无限加载的瀑布流效果另带边框圆角阴影
2014/03/07 HTML / CSS
澳大利亚百货商店中销量第一的商务衬衫品牌:Van Heusen
2018/07/26 全球购物
英格兰足协官方商店:England Store
2019/07/12 全球购物
营销与策划专业毕业生求职信
2013/11/01 职场文书
计算机软件个人的自荐信范文
2013/12/01 职场文书
平面网站制作专科生的自我评价分享
2013/12/11 职场文书
企业晚会策划方案
2014/05/29 职场文书
大学生实训报告总结
2014/11/05 职场文书
城管年度个人总结
2015/02/28 职场文书
贷款担保书范本
2015/09/22 职场文书