- 博客(2)
- 收藏
- 关注
原创 JavaScript 开发总结(一)
递归与栈溢出(Stack Overflow) :递归非常耗费内存,因为需要同时保存成千上百个调用帧,很容易发生“栈溢出”错误;而尾递归优化后,函数的调用栈会改写,只保留一个调用记录,但这两个变量(func.arguments、func.caller,严格模式“use strict”会禁用这两个变量,所以尾调用模式仅在严格模式下生效)就会失真。在正常模式下或者那些不支持该功能的环境中,采用“循环”替换“递归”,减少调用栈,就不会溢出。可见,经尾递归优化之后,性能明显提升。如果不能使用尾递归优化,可使用蹦床函数
2017-08-10 13:28:53 562
原创 Unicode 与 Unicode Transformation Format(UTF-8 / UTF-16 / UTF-32)
由于UTF-8采用的是变长字符编码,与UTF-16和UTF-32相比,无论是计算字符数,还是执行索引操作效率都不高,因此UTF-8适合在传输数据中使用,可在数据接收完毕后将其转换为UTF-16或UTF-32进行处理,最后再转换回UTF-8(但这转换本身也会有性能损耗);但UTF-8空间足够大,无字节序问题,且容错性高,局部的字节错误(丢失、增加、改变)不会导致连锁性的错误,因为 UTF-8 的字符边界很容易检测出来
2017-08-08 13:46:34 794
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人