- 博客(10)
- 收藏
- 关注
原创 new和make区别
new不会初始化内存,只会将内存置零。new(T)为类型T的新项分配已置零的内存空间,并返回它的地址,也就是一个*T的值。用Go的术语来说,它返回一个指针,该指针指向新分配的,类型为T的零值。make内建函数make(T, args)不同于new(T)。它只用于创建slice、map和channel,并返回类型为T(而非*T)的一个已初始化(而非零值)的值。原因在于,这三种类型本质上为...
2020-01-18 14:10:46
381
原创 编码风格
编码风格相似的声明放在一组Go支持将相似的声明放在一个组内Badimport "a"import "b"Goodimport ( "a" "b")这同样适用于常量、变量和类型声明Badconst a = 1const b = 2var a = 1var b = 2type Area float64type Volume float64Goodc...
2020-01-18 09:53:47
197
原创 对象属性相关
1、检测属性in:运算符左侧是属性名(字符串),右侧是对象; 如果对象的自有属性或继承属性中包含这个属性,则返回true;hasOwnProperty:方法用来检测给定的名字是否是对象的自有属性;对于继承属性返回false;propertyIsEnumerable:是hasOwnProperty的增强版,只有检测到是自有属性且这个属性的可枚举性为true时返回true;某些内置属性是不可枚...
2019-12-11 20:31:28
150
原创 数字精度问题
JS采用 IEEE-754浮点数表示法(几乎所有现代编程语言所采用),这是一种二进制表示法,可以精确的表示分数,比如1/2,1/8和1/1024。我们常采用的分数都是十进制分数1/10,1/100等。二进制浮点数表示法,并不能精确的表示类似0.1这样的数字。JS的数字具有足够的精度,并可以极其近似于0.1。但事实上,数字不能精确表述的确带来一些问题。var x = .3 - .2; // 0...
2019-11-28 10:22:37
1117
原创 对象转换为原始值
对象转换为原始值1、对象 -> 布尔值所有的对象(包括数组和函数)都转换为true。对于包装对象亦是如此:new Boolean(false) 是一个对象而不是原始值,它将转换为 true。2、对象 -> 字符串如果对象具有 toString() 方法,则调用这个方法。如果它返回一个原始值,js将这个值转换为字符串(如果本身不是字符串的话),并返回这个字符串结果;如果对象没...
2019-11-27 21:09:17
148
原创 匿名函数和闭包
匿名函数与闭包匿名函数由一个不带函数名的函数声明和函数体组成,如下所示:func (a, b int) int { return a + b}匿名函数可以直接赋值给一个变量或者直接执行:f := func(x, y int) int { return x + y}f(3, 5)func (x, y int) int { return x + y}(3, 5)闭包...
2019-11-11 20:57:08
222
转载 游戏性能优化
游戏优化,在开发中经常分为这几步:首先确定游戏中经常会出现哪些问题—Profile然后确定在哪些方向进行性能优化—Analyze最后再尽可能将问题逐个解决—Solve游戏开发中一定要先做工具,进行Profile,在进行优化。常见的工具是一些引擎和IDE自带的,比如Unity自带的Profiler,就包含了CPU,GPU,Memory等等各式各样的性能分析工具,其他的比如GPA,Xcod...
2019-08-16 11:41:09
1331
转载 垃圾回收、内存泄漏
垃圾回收、内存泄漏在Javascript中,会在创建变量(对象、字符串等)时分配内存,在不再使用它们时“自动”释放内存,这个自动释放内存的过程称为垃圾回收。内存生命周期JS中分配的内存有如下声明周期:内存分配:当我们申明变量、函数、对象的时候,系统会自动为他们分配内存;内存使用:即读写内存,也就是使用变量、函数、对象等;内存回收:使用完毕,由垃圾回收机制自动回收不再使用的内存;...
2019-08-13 23:03:52
142
原创 任意值、空值、Null和Undefined
任意值、空值、Null和Undefined任意值不知道具体类型的变量,使用any标记为任意值;Object作用类似,但是Object类型的变量,只允许赋任意值,不能调用它上面的方法,即便它真的有这些方法;let notSure: any = 4;notSure.ifItExists(); // okay, ifItExists might exist at runtimenotSu...
2019-08-10 18:38:39
505
原创 遍历方法
遍历方法for…oflet arr = ["hello", 6, "world"]; for (let i of arr) { console.log(i); // "hello", 6, "world"}for…inforEachmapfiltereverysome
2019-08-10 17:04:42
306
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人