JavaScript笔记——作用域

理解作用域 var self = this; 如果要在回调函数中使用变量,要使用self 作用域问题: Js是单线程的,有消息队列机制 "use strict"; let a = 0; setTimeout(() => { a = 1; console.log('a = 1'); }, 100); console.log(a); setTimeout(() => { console.log(a); }, 100); 变量的生命周期 执行顺序 对象的作用域 "use strict"; function A() { const test = {}; B(test); console.log(test)…

Cocos Creator——极限跳跃

转自闭眼就天黑博客,以下内容为重新整理版。 极限跳跃 分析 制作准备,cocos creator 官方文档,api,百度页面,等等。。 第一次接触这个玩意,所以我用了半个小时的时间先大概浏览下文档。。。 做任何游戏之前,先来分析游戏的结构和玩法,本次也不例外。 用思维导图我们很快可以分析出游戏需要展示的内容。 开始场景 我们刚刚分析了《极限跳跃》这款游戏,下面我们开始制作第一个游戏场景,也就是游戏的开始场景。 首先,打开 CocosCreator,新建 HelloWorld 项目。选择项目路径,输入项目名称“jxty”,点击新建项目。 新建好项目,项目会自动打开。这里大家可以看下官方的文档,了解 下编辑器的功能和用法。 资源管理器里显示了项目资源文件夹(assets)中的所有资源。这里会以树状结构显示文件夹并自动同步在操作系统中对项目资源文件夹内容的修改。您可以将文件从项目外面直接拖拽进来,或使用菜单导入资源。 场景编辑器是用来展示和编辑场景中可视内容的工作区域。所见即所得的场景搭建工作都依靠场景编辑器中的显示来完成。 层级管理器用树状列表的形式展示场景中的所有节点和他们的层级关系,所有在场景编辑器中看到的内容都可以在层级管理器中找到对应的节点条目,在编辑场景时这两个面板的内容会同步显示,一般我们也会同时使用这两个面板来搭建场景。…

Linux shell 脚本小记

Linux Shell 脚本 Sysstat 系统监控工具: //CendOs yum install -y sysstat //ubuntu sudo apt-get install sysstat 修改HostName: hostnamectl set-hostname <hostname> vim /etc/sysconfig/network HOSTNAME=<hostname> //restart shell Xmial: vi /etc/mail.rc //如果不存在,则编辑/etc/mail.rc // 末尾加入 set from="xxx@163.com" set…

Javascript 并发模型与事件循环

JS中的线程 我们常说“JavaScript是单线程的”。 所谓单线程,是指在JS引擎中负责解释和执行JavaScript代码的线程只有一个。不妨叫它主线程。 但是实际上还存在其他的线程。例如:处理AJAX请求的线程、处理DOM事件的线程、定时器线程、读写文件的线程(例如在Node.js中)等等。这些线程可能存在于JS引擎之内,也可能存在于JS引擎之外,在此我们不做区分。不妨叫它们工作线程。 消息队列模型 setTimeout 函数会在一个时间段过去后在队列中添加一个消息 (function () { console.log('this is the start'); setTimeout(function cb() { console.log('this is a msg from call back'); }); console.log('this is just a message'); setTimeout(function…

Meteor 压测方法

Meteor load test方法步骤 Meteor使用的是SockJS,而不是直接使用的websocket,所以直接使用websocket脚本去测试连接是无法连接的。 工具 Meteor-down npm i -g meteor-down Meteor-down支持js脚本,无需其他配置: meteorDown.init(function (Meteor) { Meteor.subscribe('courses.homeAll', function () { console.log('Subscription is ready'); console.log(Meteor.collections.courses); // console.log(Meteor.collections.items); Meteor.kill(); }); }); meteorDown.run({ concurrency: 500, url: "http://live.maodou.io/…