随笔分类 - 使用技术分享
今天看了关于js闭包方面的文章,还是有些云里雾里,对于一个菜鸟来说,学习闭包确实有一定的难度,不说别的,能够在网上找到一篇优秀的是那样的不易。
当然之所以闭包难理解,个人觉得是基础知识掌握的不牢,因为闭包牵扯到一些前面的东西,比如作用域\等等,如果连基本的作用域都没有弄清楚,自然不可能搞懂闭包,还有就是对js的实践比较少,因为你根本就不知道什么时候要用这东西,自然谈不上对闭包的深刻理解。
今天我就简单的说说我目前所理解的闭包,当然可能不完全正确,但是我相信会给你一定的启发。
首先我们来谈谈js中的变量,如果你不知道我为什么要说这些,那么你根本没有掌握js的基础,建议回头复习。
js中分:全局变量 和 局部变量
全局变量:可以在任意位置访问的量就叫全局变量
1 var age = 20;
2 function a(){
3 console.log(age); >>20
4 }
5 a();
局部变量:函数中用var定义的变量,只能在函数中访问这个变量,函数外部访问不了。
1 function a(){
2 var age = 20;
3 }
4 a();
5 console.log(age); >> Uncaught ReferenceError: age is not defined
注意点1:在函数中如果不使用var定义变量那么js引擎会自动添加成全局变量。
注意点2:全局变量从创建的那一刻起就会一直保存在内存中,除非你关闭这个页面,局部变量当函数运行完以后就会销毁这个变量,假如有多次调用这个函数它下一次调用的时候又会重新创建那个变量,既运行完就销毁,回到最初的状态,简单来说局部变量是一次性的,用完就扔,下次要我再重新创建。
函数的相关知识点:
1. 一个函数内可以嵌套多个函数
2. 函数里面的子函数可以访问它上级定义的变量,注意不只是一级,如果上级没有会继续往上级找,直到找到为止,如果找到全局变量到找不到就会报错。
复制代码
1 function a(){
2 var name = "追梦子";
3 function b(){
摘要:说说为什么写Gorm,因为公司新项目需要,研究了下Go下的gorm。对于一个项目首先考虑的问题,就是封装一些常用的工具方法,例如多参数查询 where or Like 还有order by Limit 等等,如果不封装后面代码写多了,每个地方代码都不一样,维护更新比较头大。 代码框架用的是gin,通
阅读全文
摘要:最近用hyperf写了支付系统,本地调试支付完成,打包上线部署,要解决https协议进行相应的访问,但是hyperf 官方没有找到相关的ssl配置说明。搜了一下soole还是有几个案例说明,据我的了解,swoole是不用nginx进行代理访问的,hyperf 只能是Nginx代理转发。 基本的原理是
阅读全文
摘要:先说下原理:因为视频是付费的,肯定需要作视频加密处理。 加密可实现的方式:修改视频字节流,只能替换字节流,例如头100-1024字节进行加密,源文件就无法打开了。 下面上代码吧,加解密是 openssl_encrypt openssl_decrypt <?php /** * * Created by
阅读全文
摘要:最近疫情期间,公司在做一个在线行业教育收费平台,所以不得不做视频转码/切片/加密。 现在只说视频加密如何实现,找遍了所有百度,几乎没有提供相应的源码和例子。 而ckPlayer官网有一个收费的案例:如下 链接:https://pan.baidu.com/s/1r_GMylIrQM7iKZXcItPS
阅读全文
摘要:昨天因为bibi项目要对接 物流信息 开始找了快递鸟文档,但是要填写申请APP,必须要注册公司才可以,这样非常麻烦。下面的第三方物理接口,绝对让你满意。 https://m.kuaidi100.com/index_all.html?type={物流公司}&postid={物流单号} 就这么简单!
阅读全文
摘要:本地配置域名:第一步: 修改 wind32 / host 文件 127.0.0.01 www.mytpshop.com第二步: 开启httpd.conf文件 Include conf/extra/httpd-vhosts.conf第三步: 在httpd-vhost.conf文件里 加入 <Virtu
阅读全文
摘要:因为公司的后台框架采用了Ajax异步处理,控制器的方法,有时候会被多个连接所重复调用,虽然这个很符合OOP开发思想,但是为了维护这个框架,付出的汗水也是很大的。 说下正题了: 我在后台的搜索框调用了优惠码作模糊查询,但是在控制器里拼接了LIKE 查询语句,在数据第一次请求是 LIKE %$cpns_
阅读全文
摘要:1. 优化SQL步骤 1. 通过 show status和应用特点了解各种 SQL的执行频率 通过 SHOW STATUS 可以提供服务器状态信息,也可以使用 mysqladmin extende d-status 命令获得。 SHOW STATUS 可以根据需要显示 session 级别的统计结果
阅读全文
摘要:1. 多表连接类型 1. 笛卡尔积(交叉连接) 在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者使用',' 如: [sql] view plain copy print? SELECT * FROM table1 CROSS JOIN table2 SELECT * FRO
阅读全文
摘要:今天看了关于js闭包方面的文章,还是有些云里雾里,对于一个菜鸟来说,学习闭包确实有一定的难度,不说别的,能够在网上找到一篇优秀的是那样的不易。 当然之所以闭包难理解,个人觉得是基础知识掌握的不牢,因为闭包牵扯到一些前面的东西,比如作用域\等等,如果连基本的作用域都没有弄清楚,自然不可能搞懂闭包,还有
阅读全文