JavaScript入门教程笔记(9)-数组
1 定义 数组(array)是按次序排列的一组值。每个值的的位置都有编号(从0开始),整个数组用方括号表示。 var arr = [‘a’, ‘b’, ‘c’]; 数组在定义时赋值,也可以先定义后赋值。任何类型的数据,都可以放入数组。 var arr = [ ‘abc’, {x: 1}, [1, 2… 阅读更多 »JavaScript入门教程笔记(9)-数组
1 定义 数组(array)是按次序排列的一组值。每个值的的位置都有编号(从0开始),整个数组用方括号表示。 var arr = [‘a’, ‘b’, ‘c’]; 数组在定义时赋值,也可以先定义后赋值。任何类型的数据,都可以放入数组。 var arr = [ ‘abc’, {x: 1}, [1, 2… 阅读更多 »JavaScript入门教程笔记(9)-数组
1 闭包 闭包(closure)是JavaScript语言的一大特色,也是一个难点。理解闭包,首先要理解变量作用域。 作用域有两种:全局作用域和函数作用域。函数内部可以访问全局变量。 var n = 999; function f() { console.log(n); } f(); // 999 … 阅读更多 »JavaScript入门教程笔记(8)-闭包函数和IIFE
1 概述 函数是一段可以反复调用的代码,它接受不同的输入参数,返回不同的值。 1.1 函数的声明 有两种常用的声明方法。 (1) function命令 function 命令声明的代码区块,就是一个函数。function 命令后面是函数名,函数名后面是一对圆括号,里面是传入函数的参数,函数体放在大括… 阅读更多 »JavaScript入门教程笔记(7)-函数
1 概述 1.1 定义 对象(object)是JavaScript语言的核心概念,也是最重要的数据类型。简单说,对象就是一组“键值对”的集合,是一种无序的复合数据集合。 var obj = { foo: ‘Hello’, bar: ‘World’ }; 上面代码中,大括号就定义了一个对象,它被赋值给… 阅读更多 »JavaScript入门教程笔记(6)-对象
定义 字符串就是放在单引号或双引号之中的若干个字符。单引号字符串的内部可以使用双引号,双引号字符串的内部可以使用单引号。 ‘abc’ “abc” ‘name = “abc”‘ “It’s ok” 上面这些都是合法的字符串。 如果要在单引号字符串内部使用单引号,就必须加上反斜杠,用来转义。同理,双引号… 阅读更多 »JavaScript入门教程笔记(5)-字符串
parseInt() parseInt 的作用是将字符串转换为整数。 parseInt(‘123’) //123 // 如果字符串开头有空格,将会自动去除空格。 parseInt(‘ 123’) // 123 // 如果输入参数不是字符串,则先转为字符串再转换。 parseInt(1.23) // … 阅读更多 »JavaScript入门教程笔记(4)-和数值相关的全局方法
整数和浮点数 JavaScript内部,所有数字都是以64位浮点数形式存储,即使整数也是如此。所以,1与1.0是相等的,是同一个数。 1 === 1.0 // true 也就是说,JavaScript 底层根本没有整数,所有数字都是小数(64位浮点数)。如果某些运算一定要整数,则JavaScript… 阅读更多 »JavaScript入门教程笔记(3)-数值
1 null和undefined 1.1 定义 null和undefined都表示“没有”,实际上,将一个变量赋值为null或undefined,语法效果几乎一样。它们的区别是:null是一个表示“空”的对象,转为数值时为0;undefined是一个表示“未定义”的值,转为数值时为NaN。 if (… 阅读更多 »JavaScript入门教程笔记(2)-关于null、undefined、true、false
JavaScript共有6种数据类型,分别是: – 数值 (number):整数和小数。 – 字符串 (string):文本。 – 布尔值 (boolean):true 和 false。 – undefined:表示“未定义”或“不存在”。 – null:表示空值。 – 对象:各种值的集合。 数值、… 阅读更多 »JavaScript入门教程笔记(1)-数据类型
let基本用法 ES6新增了let命令,用来声明变量,用法类似于var,但它所声明的变量,只在let命令所在的代码块内有效。 { let a = 10; var b = 20; } console.log(a) // Error console.log(b) // 20 对于for循环的计数器,就很… 阅读更多 »JavaScript的ES6笔记-let和var的区别
cc.Sprite是Creator中比较常用的一个组件,实际使用中常常需要做动态/异步加载。要让它显示图片,实际上主要是设置SpriteFrame。 let path = ‘resources/test.png’; let sp = node.getComponent(cc.Sprite); if … 阅读更多 »CocosCreator开发笔记(21)-cc.Sprite的动态加载和释放
不当用法 有时为了判断某个值有效,JS新手会写这种臃肿代码: if (data != null && typeof(data) != undefined && data != ”) { … } 为避免这种情况,首先要了解undefined和null的区别。 什么是undefined和null … 阅读更多 »CocosCreator开发笔记(20)-如何判断undefined和null
随着Jenkins的使用深入,会发现需要给不同的用户配置不同的使用权限,虽然Jenkins自带用户权限管理,但比较简单,不支持用户组和项目的划分,因此需要第三方插件来实现更精细的权限管理,使用比较广泛的是Role Strategy Plugin插件,可以满足所有关于用户和权限的管理需求。官网:htt… 阅读更多 »使用Jenkins实现CocosCreator的自动化构建和发布(6)-用户权限管理
前面文章讲述了如何实现CocosCreator的自动化构建和发布,不过使用次数多了会发现一个问题:就是如果我们在Creator的构建选项中选定了“MD5”,则每次构建都会生成新的文件名,那么每一次上传新版本到服务器时,因为新文件不会覆盖旧文件,就会导致发布目录下的文件越来越多。所以我们还希望在每一次… 阅读更多 »使用Jenkins实现CocosCreator的自动化构建和发布(5)-增加SSH远程操作
上篇文章讲述了Jenkins如何一键构建和发布Creator项目,不过构建的都是本地代码。本篇文章讲述如何通过Jenkins中结合代码Git管理,使本地提交代码、抓取最新代码、推送代码至Git服务器等一套流程全跑通,并自动使用Git仓库中的最新代码进行CocosCreator的构建和发布。本文使用的… 阅读更多 »使用Jenkins实现CocosCreator的自动化构建和发布(4)-增加Git管理
上篇文章介绍了如何编写Creator项目构建和发布的Windows批处理,接下来我们将要在Jenkins中部署该任务,以实现真正的自动化。步骤如下: 1、创建Creator项目 首先用Creator新建一个HelloWorld项目,并通过Creator构建面板中试着构建一遍,确认工程本身没有问题; … 阅读更多 »使用Jenkins实现CocosCreator的自动化构建和发布(3)-第一个Jenkins任务
本质上Jenkins是个可视化的Web管理工具,执行的各种任务其实都是通过命令完成的,我们要做什么任务,就为这个任务提供相应的命令。例如,Windows平台是批处理命令。 所以我们首先学会使用命令行来构建CocosCreator项目,之后才能在Jenkins中实现一键自动化构建和发布。 命令行构建C… 阅读更多 »使用Jenkins实现CocosCreator的自动化构建和发布(2)-编写脚本
简介 Jenkins是个独立的开源软件项目,它是基于Java开发的一种持续集成工具,可用于实现各种任务的自动化,如构建,测试和部署等。 项目的日常开发中,编译构建是每天频繁要做的事情,如果开发的是H5游戏,还需要把构建后的版本上传到Web服务器,这都会占用或中断程序员不少宝贵的编码时间。借助Jenk… 阅读更多 »使用Jenkins实现CocosCreator的自动化构建和发布(1)-安装Jenkins
上篇文章介绍了如何用gulp-imagemin插件来自动批量压缩CocosCreator项目的图片资源,imagemin虽然使用方便且免费,但缺点也很明显,就是耗时长而且压缩比不高(压缩后大概比原图小10-15%)。 其实还有一个更牛的压缩神器,叫 tinypng(官网: https://tinyp… 阅读更多 »CocosCreator和gulp-使用tinypng批量压缩图片
在游戏开发中,打包前进行图片压缩是必需工作,gulp内置了很多构建、优化插件,例如:图片压缩、js文件合并等等,这样,在游戏构建过程中,只需一个命令,就可以自动做完所有这些工作。 gulp简介 gulp的目标是用自动化构建工具来增强你的工作流程。 易于使用 通过代码优于配置的策略,gulp让简单的任… 阅读更多 »CocosCreator和gulp-使用gulp-imagemin压缩图片