文章目录

  • 一、运算符||与&&
  • 二、闭包
  • 三、递归(不重要)[它是好东西,但是实际上用不上还是if…else加for循环用的多]
  • 四、同步与异步(很重要但是不需要理解原理会用即可)
  • 五、一些常用的字符串方法
  • 六、一些常用的数组方法

一、运算符||与&&

例子:||
1.if语句嵌套时可以选择 || 比如:

if(condition 1 || condition 2){语句 1
}else{语句2
}
//条件1或条件2满足任意一个都会执行语句1
  1. 定义变量的时候可以多默认一个避免报错(特别是数组)
let studentArr= res.data || {}
//后端返回值可能是null或 undefined,但是只有数组有相应方法

例子:&&

  1. if语句嵌套时可以选择 && 比如:
if(condition 1 && condition 2){语句 1
}else{语句2
}
//条件1和条件2同时满足才会执行语句1
  1. 为空判断
userName != null && “”
//以上username不等于null也不等于“”才会返回true

二、闭包

function saveAddTwo(){let a = 0;return function core(increment){a = a+incrementconsole.log(a)}}let b = saveAddTwo()b(1)b(1)b(1)

里层的“core函数”接受了一个参数变量1,在其函数内以参数increment的形式存在,它与被返回的内层函数中的名称指向同一个引用。外层函数执行并退出后,参数increment(此时它的值为a+increment的值)成为了其内层函数的状态的一部分被保存了下来。

三、递归(不重要)[它是好东西,但是实际上用不上还是if…else加for循环用的多]

三要素
第一要素:知道你这个函数要做什么
第二要素:结束的条件是什么
第三要素:归纳岀相应的函数表达式
说在后面:递归简单来说就是自己调用自己合适的时候停止.网上有很多例子(比如:n的阶乘/斐波那契数列/反转单链表)


四、同步与异步(很重要但是不需要理解原理会用即可)

  1. 简单概念:
    同步:调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为。
    异步:调用更像一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以继续后续的操作。而,异步方法通常会在另外一个线程中,“真实”地执行着。整个过程,不会阻碍调用者的工作
  2. 实现:
    方法一:延时调用
normalWay(){console.log(123)
},
outTimeWays(){setTimeout(()=>{console.log(456)},100)
},

方法二:async与await

async function fetchProducts() {try {// 在这一行之后,我们的函数将等待 `fetch()` 调用完成// 调用 `fetch()` 将返回一个“响应”或抛出一个错误const response = await fetch('https://mdn.github.io/learning-area/javascript/apis/fetching-data/can-store/products.json');if (!response.ok) {throw new Error(`HTTP 请求错误:${response.status}`);}// 在这一行之后,我们的函数将等待 `response.json()` 的调用完成// `response.json()` 调用将返回 JSON 对象或抛出一个错误const json = await response.json();console.log(json[0].name);}catch(error) {console.error(`无法获取产品列表:${error}`);}
}fetchProducts();

五、一些常用的字符串方法

1.获得字符串的长度(length)

let str = “smart”
str.length //返回值为5
str[2] //返回值为a凡是[]都是从0计数

2.在字符串中查找子字符串并提取它

str.indexOf(‘mar’);返回值为1
str.indexOf(‘tab’);返回值为-1
str.slice(0,2);返回值为sm
str.slice(2);返回值为art
一般连起来用如下:
if(str.indexOf('tab') !== -1) {// do stuff with the string
}else{str.slice(str.indexOf('tab'))
}

六、一些常用的数组方法

1.将字符串转数组的方法(一)[split()]
例子:

let myData = ‘Mac,Linux,uinx,Android,Windows ,iOS;
let myArray = myData.split(',');
myArray;

2.数组转字符串的方法(一)[join(‘,’)]
例子:

let myNewString = myArray.join(',');
myNewString;

数组转字符串的方法(二)

let dogNames = [“Jack”,”Marry”,”Bob”,”sally”];
dogNames.toString(); //

3.添加数组
(1).从前面添加项目unshift()

myArray.unshift()

(2)从后面添加项目push()

myArray.push()

4.删除数组项目
(1).从前面删除项目shift()

myArray.shift()

(2)从后面删除项目 pop()

myArray.pop()

关于JavaScript的12种淫思巧技(二)相关推荐

  1. 关于javascript的12种淫思巧技(一)

    文章目录 一.parseInt() 和 parseFloat().+的区别 二.var与let.const的区别 1.下面是使用 let 声明变量作用域的例子 2.下面是使用 var 声明变量作用域的 ...

  2. javascript:12种JavaScript MVC框架之比较

    Gordon L. Hempton是西雅图的一位黑客和设计师,他花费了几个月的时间研究和比较了12种流行的JavaScript MVC框架,并在博客中总结了每种框架的优缺点,最终的结果是,Ember. ...

  3. html dom节点类型,浅谈Javascript中的12种DOM节点类型

    前言 DOM的作用是将网页转为一个javascript对象,从而可以使用javascript对网页进行各种操作(比如增删内容).浏览器会根据DOM模型,将HTML文档解析成一系列的节点,再由这些节点组 ...

  4. [转]12种JavaScript MVC框架之比较

    From : http://www.infoq.com/cn/news/2012/05/js-mvc-framework/ Gordon L. Hempton是西雅图的一位黑客和设计师,他花费了几个月 ...

  5. 12种Javascript解决常见浏览器兼容问题的方法

    们提倡尽可能使用CSS,而且我们常常能做到这一点.现代浏览器有很好的CSS支持-这无疑足够好让你使用CSS来控制布局和版面设计.但是有时候,某些网页元素在不同的浏览器会出现不同. 如果你不知道原因,不 ...

  6. 12种主流编程语言输出“ Hello World ”,把我给难住了!

    作为一名程序员,在初步学习编程想必都绕不开一个最为基础的入门级示例"Hello World",那么,你真的了解各个语言"Hello World"的正确写法吗? ...

  7. 会写代码的AI开源了!C语言写得比Codex还要好,掌握12种编程语言丨CMU

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 萧箫 发自 凹非寺 量子位 | 公众号 QbitAI 比Codex还 ...

  8. 深入理解DOM节点类型第一篇——12种DOM节点类型概述

    前面的话 DOM是javascript操作网页的接口,全称为文档对象模型(Document Object Model).它的作用是将网页转为一个javascript对象,从而可以使用javascrip ...

  9. 12种高效率热门编程语言,你会用几个?

    2019独角兽企业重金招聘Python工程师标准>>> 此外,由于更多的企业采用开发运维的方法,许多公司力求加大使用自动化的力度.虽然现有的自动化工具可以为你处理其中一些工作,但是管 ...

最新文章

  1. Linux内存技术分析(上)
  2. mysql表格导入java_使用java技术将Excel表格内容导入mysql数据库
  3. iOS动态部署之RSA加密传输Patch补丁
  4. linux内核源码目录结构(2.6.35.7版本)
  5. c语言怎么写星星代码,C语言打印星星的问题
  6. 实践实战:在PoC中的Oracle 12c优化器参数推荐(含PPT)
  7. Redis,Memcache,MongoDb的特点与区别
  8. python 反爬机制_python3爬虫--反爬虫应对机制
  9. 【实践】腾讯PCG数据中台DEVOPS和AIOPS实践.pdf(附下载链接)
  10. 使用.NET Core搭建分布式音频效果处理服务(一)需求、问题和解决方案的几个坑...
  11. docker常用命令
  12. 游戏测试面试中问到的问题
  13. 单片机学习笔记(数码管)
  14. 【磨刀不误砍柴工】keil软件仿真评估代码运行时间
  15. 音频在计算机里存储形式是什么,如何在录音带上存储任何类型的文件
  16. 人工智能导论测试题——第六章 进化智能与群体智能(2)
  17. 动动同步微信无法连接服务器,动动运动,动动计步器加到微信可是不能连接到微信运动...
  18. 极限的四则运算和洛必达法则的使用条件
  19. mysql分列查询,SQL计算符合条件行数量,并分列显示,怎么做
  20. 计算机控制 采样电路,计算机模拟量的采样与处理

热门文章

  1. python删除指定路径文件夹_Python 实现删除某路径下文件及文件夹
  2. 如何使用Global Mapper提取一条线的高程值
  3. 当财政电子票据遇上区块链……
  4. 看Kendo UI文档
  5. vmware虚拟机web控制台开发
  6. BM64-最小花费爬楼梯
  7. MATLAB —— 曲线拟合
  8. P1880 [NOI1995] 石子合并 的详解
  9. CSS实例之水平线变成虚线
  10. 数据挖掘 之 数据可视化与数据分析