一、什么是递归?

如果一个函数在内部调用自己本身,那么这个函数就是递归函数

一个简单的递归函数例:

let i = 1
function fn(){
console.log(`这是第${i}次`)fn()
}
fn()

注意:上述代码形成死递归,一运行 外部fn()调用函数体代码,运行到内部fn()又在次调用,造成‘栈溢出’

所以,使用递归函数必须加return 退出条件

修改后代码:

let i = 1
function fn(){
console.log(`这是第${i}次`)
if(i >= 6){return
}i++fn()
}
fn()

二、列举字符串的操作方法

1. split( ) 切割字符串,返回一个数组

把字符串转换为数组  和 join() 相反

 const str = '100,000,000' console.log(str.split(',')) // ['100', '000', '000']

2. substring( ) 字符串的截取

substring(需要截取的第一个字符的索引 [,结束的索引号])

const str2 = '关山难越,谁悲失路之人;萍水相逢,尽是他乡之客'
console.log(str2.substring(5, 7)) //谁悲

2.1 如果省略 结束的索引号,默认取到最后

2.2 结束的索引号不包含想要截取的部分

3. startsWith( ) 判断是不是以某个字符开头

如果是,返回true;否则返回false

const str3 = '今天是2023了'
console.log(str3.startsWith('今天'))

4. splice( ) 方法原地改变一个数组的内容,移除或者替代已存在的元素/或添加新元素。

1)删除:

需求:在数组[1, 3, 5, 8, 19, 10]中,需要删除3,5,8这三个数字。

let nums = [1, 3, 5, 8, 19, 10]nums.splice(1, 3)

2) 替换

        

5. includes( )  判断某个字符是不是包含在一个字符串里面

如果是,返回true;否则返回false

5.indexOf( )  方法返回 String 对象内第一次出现子字符串位置。如果没有找到子字符串, 则返回-1;

6.lastIndexOf( )  方法返回 String 对象中字符串最后出现的位置。如果没有匹配到子字符 串,则返回-1

三、实现继承的方法有哪些

1.借用构造函数。也叫伪造对象或经典继承。

思路:在子类构造函数的内部调用超类型构造函数。可以通过使用  apply()和 call()方法在新创建的对象上执行构造函数。

缺点:方法都在构造函数中定义,函数的复用就无从谈起

2.组合继承。也叫伪经典继承。指的是将原型链和借用构造函数的技术组合到一起,从而发挥二者之长。

3.原型链继承

4.寄生式继承。

思路:创建一个仅用于封装继承过程的函数,该函数在内部以某种  方式来增强对象,最后再像真的是它做了所有的工作一样返回对象。

四、简述 for in 循环的特点及使用场景

for...in 语句用于对数组或者对象的属性进行循环操作。

for ... in 循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。

for (变量 in 对象){

在此执行代码

}

“变量”用来指定变量,指定的变量可以是数组元素,也可以是对象的属性。

注意:for in 循环不会按照属性的下标来排列输出。

let obj = {uname: 'jason',age: 18,sex: '男'}for (let k in obj) {console.log(k)  //属性名 'uname' 'age'console.log(obj[k])  //值}

五、移动web和响应式有什么区别

递归、字符串操作的方法、实现继承的方法有哪些、for in循环、移动web和响应式区别 (Date 2023/1/2)相关推荐

  1. abap 字符串操作_ABAP-字符串常用处理方法

    SPLIT dobj AT sep INTO { {result1 result2 ...} | {TABLE result_tab} } 必须指定足够目标字段.否则,用字段dobj的剩余部分填充最后 ...

  2. java 方法继承方法_Java继承和方法重写

    这是我在研究遗产时在网上找到的一个例子. class Animal { public void move() { System.out.println("Animals can move&q ...

  3. 数据科学 IPython 笔记本 7.13 向量化字符串操作

    7.13 向量化字符串操作 原文:Vectorized String Operations 译者:飞龙 协议:CC BY-NC-SA 4.0 本节是<Python 数据科学手册>(Pyth ...

  4. html响应式布局效果图,响应式网页布局的实现方法原理

    昨天我在马海祥博客上跟大家详细的介绍过<什么是响应式网页设计?>,我觉的响应式网页设计不仅仅是一种趋势,还更是一个新的设计解决方案!它有助于解决不同的分辨率和设备(台式电脑,笔记本电脑,平 ...

  5. 【C++ 语言】C++字符串 ( string 类 | 创建方法 | 控制台输出 | 字符串操作 | 栈内存字符串对象 | string* )

    文章目录 C++ 字符串 对象 C++ 字符串 对象 创建方法 C++ 字符串 对象 输出到控制台 C++ 字符串 拼接 C++ 字符串 方法调用 ( 栈内存对象 ) C++ 字符串 方法调用 ( 堆 ...

  6. python字符串之查找与替换_Python字符串操作(查找,替换,分割和连接)方法及其使用...

    str 提供了如下常用的执行查找.替换等操作的方法: startswith():判断字符串是否以指定子串开头. endswith():判断字符串是否以指定子串结尾. find():查找指定子串在字符串 ...

  7. Java 程序优化:字符串操作、基本运算方法等优化策略

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 字符串操作优化 字符串对象 字符串对象 ...

  8. element 方法返回的boolean被当成字符串了_13个需要知道的方法:使用 JavaScript 来操作 DOM...

    作者:Milos Protic 译者:前端小智 来源:impressivewebs. DOM 或文档对象模型是 web 页面上所有对象的根.它表示文档的结构,并将页面连接到编程语言.它的结构是一个逻辑 ...

  9. python字符串的方法和列表的方法_Python学习笔记字符串操作之join()和split()方法,列表转字符串,字符串转列表...

    随笔记录方便自己和同路人查阅. #------------------------------------------------我是可耻的分割线--------------------------- ...

最新文章

  1. 以太坊开发者工具的最新清单
  2. 变量与字符串的连接 - format、格式化字符串
  3. 红帽企业版6.0 KVM虚拟化实战攻略02
  4. POJ 1222 EXTENDED LIGHTS OUT(高斯消元)
  5. BugkuCTF-MISC题善用工具
  6. java获取页面点击次数_java计算鼠标点击次数的题,急求!
  7. 奥斯卡公布最佳动画长片初选名单 《哪吒》等32部动画入选
  8. sdl2和ffmpeg显示摄像头数据
  9. 《大话设计模式》第29章-OOTV杯超级模式大赛—模式总结(五)
  10. linux备份数据库软件有哪些内容,Linux网络备份MySQL数据库的应用方法
  11. 二十三 NoSqlRedis及其安装
  12. 《挑战程序设计竞赛》 读后感
  13. VS2008(Visual Studio 2008)下载安装步骤
  14. Python L型组件填图问题(棋盘覆盖问题)
  15. dubbo之Serialization
  16. 【echarts高级用法】在地理坐标系中镶嵌柱状图,在加上时间轴让图动起来
  17. 如东人院附近一网吧转让
  18. Ant Design Vue 动态路由
  19. Linux 内存管理
  20. 云计算技术的应用和前景

热门文章

  1. Python遍历字典及判断对象类型
  2. 《WINDOWS游戏编程之从零开始》第五章学习笔记
  3. @Valid请求400错误解决
  4. 实战:部署一套完整的企业级高可用K8s集群(成功测试-博客输出)-20211019
  5. 关于图像快速缩放算法,目前看到的最好的最清晰的一篇文章
  6. 模型描述的关系模式_最常用的数据模型 - 关系模型
  7. 安装算量软件_识别开关线根数功能
  8. socket 封包和解包
  9. 谷歌从IBM购买千项专利 巩固Android专利防线
  10. 基于STC89C52的GY-906智能温度计