浅谈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的淡入淡出的特效基础练习
Dec 13 Javascript
$.getJSON在IE下失效的原因分析及解决方法
Jun 16 Javascript
jQuery仿gmail实现fixed布局的方法
May 27 Javascript
bootstrap-treeview自定义双击事件实现方法
Jan 09 Javascript
JavaScript对象参数的引用传递
Jan 14 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
Jan 03 Javascript
bootstrap timepicker在angular中取值并转化为时间戳
Jun 13 Javascript
详解React Native顶|底部导航使用小技巧
Sep 14 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
May 23 Javascript
vue2路由方式--嵌套路由实现方法分析
Mar 06 Javascript
javascript实现图片轮换动作方法
Aug 07 Javascript
vue中使用echarts的示例
Jan 03 Vue.js
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
Laravel中任务调度console使用方法小结
2017/05/07 PHP
网站被恶意镜像怎么办 php一段代码轻松搞定(全面版)
2018/10/23 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式二图文详解
2019/04/09 PHP
laravel Model 执行事务的实现
2019/10/10 PHP
Javascript 按位取反运算符 (~)
2014/02/04 Javascript
JS应用正则表达式转换大小写示例
2014/09/18 Javascript
javascript实现仿IE顶部的可关闭警告条
2015/05/05 Javascript
javascript中this的四种用法
2015/05/11 Javascript
javascript中if和switch,==和===详解
2015/07/30 Javascript
jQuery实现标题有打字效果的焦点图代码
2015/11/16 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
2015/12/02 Javascript
js实现文字滚动效果
2016/03/03 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
jQuery grep()方法详解及实例代码
2016/10/30 Javascript
Angular2-primeNG文件上传模块FileUpload使用详解
2017/01/14 Javascript
canvas绘制的直线动画
2017/01/23 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
2018/12/16 Javascript
记一次用vue做的活动页的方法步骤
2019/04/11 Javascript
js+html5 canvas实现ps钢笔抠图
2019/04/28 Javascript
jQuery实现动态加载(按需加载)javascript文件的方法分析
2019/05/31 jQuery
vue中的.$mount('#app')手动挂载操作
2020/09/02 Javascript
vue v-on:click传递动态参数的步骤
2020/09/11 Javascript
比较详细Python正则表达式操作指南(re使用)
2008/09/06 Python
python实现简单温度转换的方法
2015/03/13 Python
python实现读取命令行参数的方法
2015/05/22 Python
解决pyinstaller打包发布后的exe文件打开控制台闪退的问题
2019/06/21 Python
python 使用递归回溯完美解决八皇后的问题
2020/02/26 Python
selenium WebDriverWait类等待机制的实现
2020/03/18 Python
详解python os.path.exists判断文件或文件夹是否存在
2020/11/16 Python
HTML5 预加载让页面得以快速呈现
2013/08/13 HTML / CSS
原材料检验岗位职责
2014/03/15 职场文书
乡镇群众路线整改落实情况汇报
2014/10/28 职场文书
2015年个人实习工作总结
2014/12/12 职场文书
2015驻村干部工作总结
2015/04/07 职场文书
解除租赁合同协议书
2016/03/21 职场文书
Python学习之异常中的finally使用详解
2022/03/16 Python