直播js的学习笔记day_04
程序员文章站
2022-04-11 21:21:57
递归算法: 优点:代码简洁、清晰,并且容易验证正确性。 缺点: 1、它的运行需要较多次数的函数调用,如果调用层数比较深,每次都要创建新的变量,需要增加额外的堆栈处理,会对执行效率有一定影响,占用过多的内存资源。 2、递归算法解题的运行效率较低。在递归调用的过程中系统为每一层的返回点、局部变量等开辟了 ......
递归算法:
优点:代码简洁、清晰,并且容易验证正确性。
缺点:
1、它的运行需要较多次数的函数调用,如果调用层数比较深,每次都要创建新的变量,需要增加额外的堆栈处理,会对执行效率有一定影响,占用过多的内存资源。
2、递归算法解题的运行效率较低。在递归调用的过程中系统为每一层的返回点、局部变量等开辟了栈来储存。递归次数过多容易造成栈溢出等
注意:递归就是在过程或函数里调用自身;使用递归策略时要注意的几个条件
1、必须有一个明确的递归结束条件,称为递归出口。
2、递归需要有边界条件、递归前进段和递归返回段。
3、当边界条件不满足时,递归前进。当边界条件满足时,递归返回。
循环算法:
优点:速度快,结构简单。
缺点:并不能解决所有的问题。有的问题适合使用递归而不是循环。如果使用循环并不困难的话,最好使用循环
029、创建数组的几种方式
三种方式:
1、var arr = new Array();
2、var arr = Array
3、var arr = [];
030、如果判断一个对象是不是另一个对象创建出来的
数组.instanceof Array
031、数组常用的一些方法
1、push: 在数组最后添加一个或者多个元素,返回添加后数组的长度
2、pop: 从数组最后取出一个元素,返回的是数组的最后一个元素(取出的元素)
3、unshift: 和push相反,从数组的第一位的前面开始添加
4、shift: 和pop相反从数组的第一位开始取,返回取出的值
5、sort 排序方法
6、reverse 反转
上面的6种方式都在原数组进行操作,会改变原本的数组
032、如何将数组转换为字符串?如何将字符串转换为数组
var str = 数组.join('')
var arr = 字符串.split('')
除此之外还有toString()
033、简单谈一谈关于值传递与引用传递
值传递:传递的是基本数据类型的数据(数据不会发生改变)
引用传递:传递的是对象(数组、对象)对象存储在堆空间中,自身可以发生改变
034、关于数组的排序请用至少2种方式进行排序
冒泡 选择 快速 代码自己写
035、什么是json?
JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,用来来存储和表示数据
语法:
[
{键:值},
{键:值},
{键:值},
]