自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 使用 cocos creator 3.0 制作抽奖小游戏

使用 cocos creator 3.0 制作抽奖小游戏描述一个抽奖小游戏demo, 点击 抽奖按钮 进行抽奖, 抽完奖后该结果置灰。下一次抽奖就会跳过已经抽过的奖项。注意: 每次点击 抽奖按钮 前需要点击 获取抽奖结果 按钮来随机获取该次的结果。github地址...

2021-10-14 17:26:11 1226

原创 Javascript中的assign()方法到底是浅拷贝还是深拷贝?

针对于第一级拷贝是深拷贝,对于第二级拷贝是浅拷贝。看代码:let A = { a: { aa: 10 }, b: 11,};let B = { ...A, c: 111,};console.log(B); // { a: { aa: 10 }, b: 11, c: 111 }B.a.aa = '修改1'; B.b = '修改2';console.log(B); //{ a: { aa: '修改1' }, b: '修改2', c: 111 }conso

2021-07-06 16:40:27 1456 1

原创 立即执行函数

立即执行函数1. 什么是立即执行函数立即执行函数就是 将匿名函数或函数声明转化成函数表达式,再在函数后加()让其立即执行。这样的函数叫做立即执行函数2. 立即执行函数的格式在看立即执行函数格式之前,我们需要先了解函数声明、函数表达式、匿名函数分别是什么。function test() { console.log('这是函数声明'); //函数声明}var func = function() { console.log('这是函数表达式'); //函数表达式};funct

2021-05-14 18:20:24 2334

原创 Js基础(4)--- 几种常见遍历方法

遍历对象for…inlet obj = { name: 'dunhuang', age: 18, sex: '男'}for (let index in obj) { console.log(obj[index]); // dunhuang, 18, 男}遍历数组1. 傻瓜式遍历 for循环let arr = [10, 20, 30]for (let i = 0; i < arr.length; i++) { console.log(arr[i]); //10,20,3

2021-02-05 14:57:13 99

原创 JS基础(3)---数组的常用方法

JS数组的常用方法有join --> 将数组转化为字符串unshift --> 在数组的开头添加元素shift --> 删除数组的开头第一个元素push --> 在数组的末尾添加元素pop --> 删除数组的最后一个元素三个高阶函数: map、filter、 reduce点击这里可以看上述高阶函数具体介绍这里我们介绍一下基础的数组常用方法1.joinjoin()方法是将数组转化为字符串,使用为array.join(),通常我们使用空字符串

2021-02-05 11:07:52 241 1

原创 JS基础 (1)--- 变量提升与冻结

JS基础- - (1)1.变量提升使用var定义的代码,会把声明放到前面去,赋值保留在原位var name = "dun";function show() { if (false) { var name = "huang"; } console.log(name); // undefined}console.log(name) // dunshow();为什么出现这样的情况,是因为JS代码在执行之前会通过解析器解析一遍。在解析的过程中就会产生变量提升,将声明的代码放到最

2021-02-01 21:00:27 227

原创 javascript中的 五个高阶函数map、fitler、reduce、every、some

在ES6中增加了3个高阶函数,map、filter、reduce1.mapmap常用数组的遍历和操作,返回一个新的数组例子:将一个数组的所有元素乘以2,求新的数组按照之前的方法,我们可能会这样写let arr = [1, 2, 3, 4, 5]let newArr = []for ( let i = 0; i < arr.length; i++) { newArr.push(arr[i] * 2)}console.log(newArr) // [2, 4, 6, 8, 10]现

2020-12-09 16:55:27 518 1

原创 c++深拷贝和浅拷贝的区别

C++深拷贝和浅拷贝的区别对于基本变量,深拷贝和浅拷贝都是复制一份数据,无区别;对于引用对象,深拷贝复制了一份数据,重新分配地址空间存放新数据;而浅拷贝只是复制了指向对象的指针变量,这时有俩个指针同时指向同一份地址空间。当A指针释放该内存时,就会导致B指针成为野指针,出现运行错误。...

2020-04-29 06:30:46 327

原创 c++ #define和const区别

C++ #define和const区别#define 在预处理时进行; const 在程序编译运行时进行。#define没有类型检查,只是简单的字符串替换; const有对应的数据类型。#define不分配内存,给出的是立即数,多少地方使用就替换多少次,定义的常量在内存中有多份拷贝,存储在代码区; const常量在静态存储区分配空间(存储在数据段),在程序运行过程只存在一份拷贝。#def...

2020-04-29 06:18:48 135

原创 c++ 指针与引用的区别

C++指针与引用的区别1.指针是一个变量,它指向的是对象的地址;引用是对象的别名,它表示的就是对象本 身,对引用操作就是对对象本身进行操作。2.指针可以为空, 不存在空引用;3.指针可以不初始化(强烈不推荐,见拓展(1)(2)),引用必须要进行初始化;4.可以改变指针指向的地址,但是引用一旦确定不能改变。5.sizeof指针计算的是指针变量本身的大小, sizeof引用计算的是引用对象本...

2020-04-29 05:44:39 128 1

原创 cocos2d 性能优化

cocos2D 性能优化cocos2D 性能优化主要就是对于内存的优化1.纹理大小优化纹理占用是cocos内存占用的大头,所以优先解决纹理的内存优化。在TexturePacker软件中,我们可以直接明白的看到纹理占用的内存大小如:这是没有优化过的一张纹理内存大小,大小为256KB,下面是将RGBA8888调整为RGBA4444时纹理内存变化,直接就减少了一半大小下面是继续将PO...

2020-04-22 14:22:08 706

原创 c++内存分布总结

C++内存分布c++中内存分配分为五个部分,分别是 栈,堆,静态存储区,文字常量区,代码区。1.栈区栈区通常由程序自动申请或释放,主要存储有 局部变量,函数参数等;2.堆区堆区通常是手动申请或释放,malloc(free), new(delete);注:malloc(free) 和 new(delete)的区别:malloc是c中的库函数,new是c++中的操作符malloc只...

2020-04-21 22:24:10 184

原创 c++虚函数的实现原理

C++虚函数实现原理c++虚函数是通过虚函数表来实现的,当一个类里含有虚函数时,编译器会给这个类分配一个虚函数表,虚函数表里存放的是虚函数的地址。当该类被继承时,其子类也会继承基类的虚函数表。比如基类含有一个虚函数 f(), 子类含有一个虚函数g();基类的虚函数表里存放的就是函数f的地址,而子类的虚函数表里第一位存放的是基类函数f的地址,第二位存放的是函数g的地址。当子类虚函数覆盖基类虚函...

2020-04-21 22:20:57 978

原创 c++重载覆盖隐藏区别

c++重载,覆盖,隐藏在c++中,重载和覆盖通常被混淆,现在来说一下其区别重载在同一个类中,函数名相同,参数表不同(参数个数,名字,顺序只要有一个不同);覆盖在不同的类中,函数名相同,参数表也要相同,基类函数含有virtual关键字;隐藏 1.在不同类中,函数名相同,参数表也相同,基类函数不含virtual关键字; 2.在不同类中,函数名相同,参数表不同; 此时,基类函数被...

2020-04-21 22:13:53 118

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除