var constantize = (obj) => { Object.freeze(obj); Object.keys(obj).forEach( (key, i) => { if ( typeof obj[key] === 'object' ) { constantize( obj[key] ); } }); }; 冻结对象的用处: 冻结对象是指那些不能添加新的属性,不能修改已有属性的值,不能删除已有属性,以及不能修改已有属性的可枚举性.可配置性.可写性的对象. 也就是说,这个对象永远是不…
1. 随着函数使用场合的不同,this的值会发生变化.但是有一个总的原则,那就是this指的是,调用函数的那个对象. 或者说,this指向当前执行的函数的所有者. 2.情况一:纯粹的函数调用 这是函数的最通常用法,属于全局性调用,因此this就代表全局对象Global. 3.情况二:作为对象方法的调用 所谓构造函数,就是通过这个函数生成一个新对象(object).这时,this就指这个新对象. 4.情况四 apply调用 apply()是函数对象的一个方法,它的作用是改变函数的调用对象,它的第一…
一.什么是PWM? 1.科普一下什么是PWM,嘿嘿,莫闲啰嗦,好好看看,可能大多数人听过,但可能没详细了解过,至此不妨花费几分钟,详细了解哈,PWM中文译名为:脉冲宽度调制,即控制电路在输出频率不变的情况下,通过微控制器控制电平在一个周期内输出高低电平的比例来等效出模拟电压的大小.举个“栗子”吧: 若电池9V,设9V工作时灯状态为全亮,1.8V工作时为微亮. 若开关持续20%时间通,80%时间断,则可近似为用一个1.8V(9V*20%)的电池持续供电,此时为半亮.当然,开关通断时间需要特别短,否…
Mocha(发音"摩卡")诞生于2011年,是现在最流行的JavaScript测试框架之一,在浏览器和Node环境都可以使用. 所谓"测试框架",就是运行测试的工具.通过它,可以为JavaScript应用添加测试,从而保证代码的质量. 本文全面介绍如何使用Mocha,让你轻松上手.如果你以前对测试一无所知,本文也可以当作JavaScript单元测试入门.值得说明的是,除了Mocha以外,类似的测试框架还有Jasmine.Karma.Tape等,也很值得学习. 一.安…
来源于:https://twitter.com/ruanyf http://www.ruanyifeng.com/blog/2016/11/javascript.html 全栈工程师培训材料,帮助学习者掌握全栈开发的基本知识,承担简单 Web 应用的前后端开发. 一共四讲,适合两天的训练营,请先阅读<培训准备>.培训时,需要完成课堂练习. 第一讲:前端开发的历史和趋势 前端开发的历史演变 前端MVC框架的兴起 前后端分离 全栈工程师 前端开发的未来 第二讲:React 技术栈 React 的基…
本文转自:阮一峰老师的ECMAScript 6 入门,有时间可以看下评论! Generator 函数 简介 基本概念 Generator函数是ES6提供的一种异步编程解决方案,语法行为与传统函数完全不同.本章详细介绍Generator函数的语法和API,它的异步编程应用请看<异步操作>一章. Generator函数有多种理解角度.从语法上,首先可以把它理解成,Generator函数是一个状态机,封装了多个内部状态. 执行Generator函数会返回一个遍历器对象,也就是说,Generator函…
假设我们要设计一个包含以下操作的 Sales_data 类: 1.一个 isbn 成员函数,用于返回对象的 book_no 成员变量 2.一个 combine 成员函数,用于将一个 Sales_data 对象加到另一个 Sales_data 对象上 3.一个名为 add 的函数,执行两个 Sales_data 对象的加法 4.一个 read 函数,将数据从 istream 都入到 Sales_data 对象中 5.一个 print 函数,将 Sales_data 对象的值输出到 ostream…
C# PDF Page操作——设置页面切换按钮   概述 在以下示例中,将介绍在PDF文档页面设置页面切换按钮的方法.示例中将页面切换按钮的添加分为了两种情况,一种是设置按钮跳转到首页.下页.上页或者最后一页,另一种是设置按钮跳转到指定页面.两种方法适应不同的程序设计需要,可自行选择合适的添加方法. 说明 这里的代码示例需要使用类库Spire.PDF for .NET,版本4.0 .在使用该类库时,在项目程序中引用Spire.Pdf.dll即可(dll文件在安装路径下的Bin文件中获取). 如:…
ZeroMQ 官方地址 :http://api.zeromq.org/4-1:zmq_msg_init_data zmq_msg_init_data(3) ØMQ Manual - ØMQ/3.2.5 Name zmq_msg_init_data - 从一个指定的存储空间中初始化一个ZMQ消息对象的数据 Synopsis typedef void (zmq_free_fn) (void *data, void *hint); int zmq_msg_init_data (zmq_msg_t *m…
安卓中获取网络图片,生成缓存 用安卓手机,因为手机流量的限制,所以我们在做应用时,要尽量为用户考虑,尽量少耗点用户的流量,而在应用中网络图片的显示无疑是消耗流量最大的,所以我们可以采取压缩图片或者将图片进行缓存,使图片只需要获取一次即可. 获取网络图片,并进行压缩 public static Bitmap returnBitMapWego(String url) { URL myFileUrl = null; Bitmap bitmap = null; try { myFileUrl = new…