2018-08-02使用talkingdata在web项目中采集数据Web项目中使用talkingdata的”游戏运营分析”步骤如下:◆登录系统,进入“GameAnalytics游戏运营分析”; 图1 "游戏运营分析"入口 ◆创建产品,得到App Id ; 图2 填写产品信息完成创建,得到App Id ◆web页面中添加script标签; 1234//对于普通的http连接网站,使用的调用地址:<script src="htt...阅读全文…
2018-05-09JS的继承要点● 在 ES6 之前,类以及类的继承机制没有明确定义,通过模仿来实现,以下内容针对 ES6 之前场景。● 从 ES6 开始,类和继承有了定义,分别通过 class 和 extends 实现。● Babel 对于 class 和 extends 向 ES6 之前的转译,使用的就是以下内容中“寄生组合式继承”的方式。 对象冒充(object masquerading)■”对象冒充”也称为”借...阅读全文…
2018-03-22通过babel搭建可使用async/await的Node.js运行环境Node.js 版本7以下 原生不支持ES6的async/await写法,通过bebel的runtime实时翻译实现async/await写法的支持,在Node.js-v6.11.0的express项目下亲测可用。 ps: koa官网首页“Async Functions with Babel”小节也有介绍 具体步骤如下: ●安装”babel-core” 1npm inst...阅读全文…
2018-03-07JS的原型链、new、constructor、instanceof原型链□ JS 中,每个对象(包括内部对象、宿主对象、自定义对象,以及原始类型值自动转成的包装对象)都有一个[[Prototype]]内部属性,为了表示特性是内部值,用两个方括号加以区分。当访问一个对象的属性时,如果这个属性不存在,则会去对象的[[Prototype]]中找这个属性,而这个[[Prototype]]的取值也可以是个对象并也拥有[[Prototype]]属性,可以继续在其中查找...阅读全文…
2018-03-06JS对象属性的可枚举性(enumerable)基本规则★ JS 对象属性的可枚举性将影响枚举(enumeration)的结果,如果属性的 enumerable 为 false,枚举时就不会取这个属性。★ 枚举方式列举:for…in、Object.entries()、Object.keys()、Object.values()、JSON.stringify()、Object.assign()、展开运算符。★ 通过常规赋值添加的属性都是可枚举...阅读全文…
2018-01-04nginx限制请求频率nginx可以通过ngx_http_limit_req_module和ngx_http_limit_conn_module这两个模块的配置来限制请求频率。 ngx_http_limit_req_module模块◇ngx_http_limit_req_module针对自定义的key来限制请求的处理速度,尤其是来源于同一个IP地址的请求,速度限制通过__漏桶算法(leaky bucket)__实...阅读全文…
2017-11-13JS的闭包闭包的定义○ 从概念上讲,闭包是“包含上层作用域变量的函数”与“函数相关引用环境”两者组成的实体。其中的“函数相关引用环境”就是函数的词法环境链,是所有函数被执行前都会被创建的。因此在广义上只要函数内部引用了外部变量就构成闭包。词法环境相关内容整理在这篇。○ 经常讨论的闭包出现在“局部作用域中内嵌函数”的场景,且同时满足两个要点:(1)内嵌函数引用了上层作用域的变量(2)内嵌函数被传递到所在...阅读全文…
2017-11-12JS的作用域与上下文与执行上下文作用域○ 作用域(scope)是代码层面的概念,是代码被划分成的一个个区域,用来约定位于不同区域变量的可访问特性。根据所在位置,作用域可分为全局作用域和局部作用域(如函数作用域、块级作用域)。○ 块级作用域通过在{}里使用 let 或 const 声明变量实现。○ 函数作用域通过函数体划分。○ 全局作用域是不在任何函数作用域或块级作用域中的区域。 作用域链● 由于块和函数体可以嵌套,使作用域...阅读全文…