关于JavaScript的12种淫思巧技(二)
文章目录
- 一、运算符||与&&
- 二、闭包
- 三、递归(不重要)[它是好东西,但是实际上用不上还是if…else加for循环用的多]
- 四、同步与异步(很重要但是不需要理解原理会用即可)
- 五、一些常用的字符串方法
- 六、一些常用的数组方法
一、运算符||与&&
例子:||
1.if语句嵌套时可以选择 || 比如:
if(condition 1 || condition 2){语句 1
}else{语句2
}
//条件1或条件2满足任意一个都会执行语句1
- 定义变量的时候可以多默认一个避免报错(特别是数组)
let studentArr= res.data || {}
//后端返回值可能是null或 undefined,但是只有数组有相应方法
例子:&&
- if语句嵌套时可以选择 && 比如:
if(condition 1 && condition 2){语句 1
}else{语句2
}
//条件1和条件2同时满足才会执行语句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的阶乘/斐波那契数列/反转单链表)
四、同步与异步(很重要但是不需要理解原理会用即可)
- 简单概念:
同步:调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为。
异步:调用更像一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以继续后续的操作。而,异步方法通常会在另外一个线程中,“真实”地执行着。整个过程,不会阻碍调用者的工作 - 实现:
方法一:延时调用
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种淫思巧技(二)相关推荐
- 关于javascript的12种淫思巧技(一)
文章目录 一.parseInt() 和 parseFloat().+的区别 二.var与let.const的区别 1.下面是使用 let 声明变量作用域的例子 2.下面是使用 var 声明变量作用域的 ...
- javascript:12种JavaScript MVC框架之比较
Gordon L. Hempton是西雅图的一位黑客和设计师,他花费了几个月的时间研究和比较了12种流行的JavaScript MVC框架,并在博客中总结了每种框架的优缺点,最终的结果是,Ember. ...
- html dom节点类型,浅谈Javascript中的12种DOM节点类型
前言 DOM的作用是将网页转为一个javascript对象,从而可以使用javascript对网页进行各种操作(比如增删内容).浏览器会根据DOM模型,将HTML文档解析成一系列的节点,再由这些节点组 ...
- [转]12种JavaScript MVC框架之比较
From : http://www.infoq.com/cn/news/2012/05/js-mvc-framework/ Gordon L. Hempton是西雅图的一位黑客和设计师,他花费了几个月 ...
- 12种Javascript解决常见浏览器兼容问题的方法
们提倡尽可能使用CSS,而且我们常常能做到这一点.现代浏览器有很好的CSS支持-这无疑足够好让你使用CSS来控制布局和版面设计.但是有时候,某些网页元素在不同的浏览器会出现不同. 如果你不知道原因,不 ...
- 12种主流编程语言输出“ Hello World ”,把我给难住了!
作为一名程序员,在初步学习编程想必都绕不开一个最为基础的入门级示例"Hello World",那么,你真的了解各个语言"Hello World"的正确写法吗? ...
- 会写代码的AI开源了!C语言写得比Codex还要好,掌握12种编程语言丨CMU
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 萧箫 发自 凹非寺 量子位 | 公众号 QbitAI 比Codex还 ...
- 深入理解DOM节点类型第一篇——12种DOM节点类型概述
前面的话 DOM是javascript操作网页的接口,全称为文档对象模型(Document Object Model).它的作用是将网页转为一个javascript对象,从而可以使用javascrip ...
- 12种高效率热门编程语言,你会用几个?
2019独角兽企业重金招聘Python工程师标准>>> 此外,由于更多的企业采用开发运维的方法,许多公司力求加大使用自动化的力度.虽然现有的自动化工具可以为你处理其中一些工作,但是管 ...
最新文章
- Linux内存技术分析(上)
- mysql表格导入java_使用java技术将Excel表格内容导入mysql数据库
- iOS动态部署之RSA加密传输Patch补丁
- linux内核源码目录结构(2.6.35.7版本)
- c语言怎么写星星代码,C语言打印星星的问题
- 实践实战:在PoC中的Oracle 12c优化器参数推荐(含PPT)
- Redis,Memcache,MongoDb的特点与区别
- python 反爬机制_python3爬虫--反爬虫应对机制
- 【实践】腾讯PCG数据中台DEVOPS和AIOPS实践.pdf(附下载链接)
- 使用.NET Core搭建分布式音频效果处理服务(一)需求、问题和解决方案的几个坑...
- docker常用命令
- 游戏测试面试中问到的问题
- 单片机学习笔记(数码管)
- 【磨刀不误砍柴工】keil软件仿真评估代码运行时间
- 音频在计算机里存储形式是什么,如何在录音带上存储任何类型的文件
- 人工智能导论测试题——第六章 进化智能与群体智能(2)
- 动动同步微信无法连接服务器,动动运动,动动计步器加到微信可是不能连接到微信运动...
- 极限的四则运算和洛必达法则的使用条件
- mysql分列查询,SQL计算符合条件行数量,并分列显示,怎么做
- 计算机控制 采样电路,计算机模拟量的采样与处理