JavaScript每日学习日记(1)

8.11.2019

1. lastIndexOf() 方法从尾到头进行检索。

 

2. 有三种提取部分字符串的方法:

2.1 slice(start, end)  如果某个参数为负,则从字符串的结尾开始计数。如果省略第二个参数,则该方法将裁剪字符串的剩余部分。

2.2 substring(start, end) 与slice不同之处在于,substring无法接受负索引。

2.3 substr(start, length) 与slice不同之处在于,第二个参数规定被提取部分的长度。

 

3.replace()方法用另一个值替换原字符串中指定的值。replace方法不改变原字符串,它返回的是新字符串。该方法只替换首个匹配,且对大小写敏感。

如果要执行大小写不敏感的替换,则使用正则表达式 /i;如果要执行全部的替换,则使用正则表达式 /g

 

4.concat()连接多个字符串,所有字符串方法都不改变原字符串。也可连接多个数组。

 

5.trim()方法删除字符串两端的空白符,IE8及更低版本不支持该方法,搭配正则表达式用replace()代替。

var str = "       Hello World!        ";

alert(str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''));

 

6.charAt()返回字符串中指定下标的字符。

charCodeAt()返回字符串中指定下标字符的Unicode编码。

 

7.可以用split()将字符串转换成数组。如果省略分隔符,被返回的数组将包含 index [0] 中的整个字符串;如果分隔符是 "",被返回的数组将是间隔单个字符的数组。

var txt = "a,b,c,d,e";   // 字符串

txt.split(",");          // 用逗号分隔

txt.split(" ");          // 用空格分隔

txt.split("|");          // 用竖线分隔

 

8. 在所有数字运算中,JavaScript 会尝试将字符串转换为数字。

  注意:“+”除外,+在此处默认为级联(字符串相加)

 

9. 可使用全局 JavaScript 函数  isNaN()  来确定某个值是否是数。

 

10.  toExponential()  返回字符串值,它包含已被四舍五入并使用指数计数法的数字。

参数定义小数点后的字符数。

var x = 9.656;

x.toExponential(2);     // 返回 9.66e+0

x.toExponential(4);     // 返回 9.6560e+0

x.toExponential(6);     // 返回 9.656000e+0

 

11.  toFixed()  返回字符串值,它包含了指定位数小数的数字。

toPrecision()  返回字符串值,它包含了指定长度的数字。

 

12. Number()可以将日期转换成数字,该值为1970年1月1日至该日期所过的毫秒数。

 

13. 向数组添加新元素的最佳方法是使用 push() 方法:也可以使用 length 属性向数组添加新元素:

var fruits = ["Banana", "Orange", "Apple", "Mango"];

fruits.push("Lemon");                // 向 fruits 添加一个新元素 (Lemon)

或fruits[fruits.length] = "Lemon";     // 向 fruits 添加一个新元素 (Lemon)

注意:如果添加的元素索引超过数组当前最高索引值大于1,则中间的元素为undefined。

 

14.JavaScript中不支持命名索引的数组。

 

15.数组中删除或添加元素部分与栈的操作类似,使用pop()与push()。pop返回被弹出的值,push返回添加元素后数组长度。

shift()  方法会删除首个数组元素,并把所有其他元素“位移”到更低的索引。返回被删除的元素。unshift()在数组开头添加元素,其他元素后移,返回添加后数组长度。

 

16.splice() 方法可用于向数组添加新项,第一个参数(2)定义了应添加新元素的位置(拼接)。第二个参数(0)定义应删除多少元素。其余参数(“Lemon”,“Kiwi”)定义要添加的新元素:

var fruits = ["Banana", "Orange", "Apple", "Mango"];

fruits.splice(2, 0, "Lemon", "Kiwi");

splice() 方法返回一个包含已删除项的数组:

var fruits = ["Banana", "Orange", "Apple", "Mango"];

removed = fruits.splice(2, 2, "Lemon", "Kiwi");

removed 输出为“Apple,Mango”

 

17.slice()可以切出数组中某个片段,如果有两个参数,则第一个为开始位置,第二个为结束位置,分段时不包括结束位置的元素。如果只有一个参数,则从开始位置裁剪到数组结尾。

 

18.sort()按字符顺序对数组进行排序,reverse()则反转元素顺序。

     Math.max() / Math.min() 得到数组最大/小值

function myArrayMax(arr) {

      return Math.max.apply(null, arr);

}

function myArrayMin(arr) {

      return Math.min.apply(null, arr);

}

 

19.数组迭代方法:

19.1 forEach()  为每个数组元素调用一次函数(回调函数)。numbers.forEach(myFunction);

function myFunction(value, index, array) {

  txt = txt + value + "<br>";

}

 

19.2 map()  通过对每个数组元素执行函数来创建新数组。map() 方法不会对没有值的数组元素执行函数, 不会更改原始数组。下面的例子将原数组元素乘2:

var numbers1 = [45, 4, 9, 16, 25];

var numbers2 = numbers1.map(myFunction);

function myFunction(value, index, array) {

  return value * 2;

}

 

19.3  filter()  方法创建一个包含通过测试的数组元素的新数组。

var numbers = [45, 4, 9, 16, 25];

var over18 = numbers.filter(myFunction);

function myFunction(value, index, array) {

  return value > 18;

}

 

19.4 reduce() / reduceRight()  在每个数组元素上运行函数,以生成(减少它)单个值。在数组中从左到右工作,不会减少原始数组。

var numbers1 = [45, 4, 9, 16, 25];

var sum = numbers1.reduce(myFunction);

function myFunction(total, value, index, array) {

  return total + value;

}

 

19.5  every()  方法检查所有数组值是否通过测试。

var numbers = [45, 4, 9, 16, 25];

var allOver18 = numbers.every(myFunction);

function myFunction(value, index, array) {

  return value > 18;

}

 

19.6  some() 方法检查某些数组值是否通过了测试。

var numbers = [45, 4, 9, 16, 25];

var someOver18 = numbers.some(myFunction);

function myFunction(value, index, array) {

  return value > 18;

}

 

19.7  find()  方法返回通过测试函数的第一个数组元素的值。

var numbers = [4, 9, 16, 25, 29];

var first = numbers.find(myFunction);

function myFunction(value, index, array) {

  return value > 18;

}

 

20. toUTCString()  方法将日期转换为 UTC 字符串(一种日期显示标准)。

toDateString()  方法将日期转换为更易读的格式

 

21.switch case 使用严格比较(===),值必须与要匹配的类型相同。

 

22. 一元的 + 运算符可用于把变量转换为数字

var y = "5";      // y 是字符串

var x = + y;      // x 是数字

如果无法转换变量,则仍会成为数字,但是值为 NaN

转载于:https://www.cnblogs.com/zccfrancis/p/11337085.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/482518.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人工智能将如何改变芯片设计

来源&#xff1a;ScienceAI编译&#xff1a;绿萝摩尔定律的终结正在逼近。工程师和设计师只能将晶体管小型化并尽可能多地封装到芯片中。因此&#xff0c;他们正在转向其他芯片设计方法&#xff0c;将 AI 等技术融入到设计过程中。例如&#xff0c;三星正在将人工智能添加到其内…

网络编程 总结

软件开发架构 c/s client/server b/s broswer/server ps:b/s本质上也是c/s架构 OSI七层协议 应用层 表示层 会话层 传输层 网络层 数据链路层 物理连接层 物理连接层 传输二进制的数据 数据链路层(以太网协议) 1.规定了二进制数据的分组依据 2.规定了每台计算机都必须有一块网…

计算机科学家证明,为什么更大的神经网络可以做得更好

来源&#xff1a;ScienceAI编辑&#xff1a;萝卜皮我们的物种很大程度上归功于对生的拇指。但如果进化给了我们额外的拇指&#xff0c;事情可能不会有太大改善。每只手一个拇指就足够了。神经网络并非如此&#xff0c;这是执行类人任务的领先人工智能系统。随着他们变得更大&am…

解决安装IIS时提示找不到zClientm.exe文件的问题

今天在安装IIS出现找不到zClientm.exe文件&#xff0c;还以为是下载IIS有问题&#xff0c;头大了。以下是解决方案。在组件安装向导中顺着[附件和工具]--[游戏]一路点击下去,惊喜地发现里面有一栏[Internet游戏]&#xff0c;把勾去掉&#xff0c;重新安装IIS就OK。但是有网友提…

生命,到底是什么?

来源&#xff1a;腾讯研究院作者&#xff1a;Mark A. Bedua译者&#xff1a;宋词、范星辰令人着迷的生命地球表面布满了生命&#xff0c;而且通常很容易辨认。猫、胡萝卜、细菌都是活的&#xff0c;桥、肥皂泡、沙粒都是死的。但众所周知&#xff0c;生物学家们却没有关于生命的…

MyBatis中SQL语句相关内容

MyBatis模糊查询 使用 ${...} 代替 #{...} SELECT * FROM tableName WHERE name LIKE %${text}%; 在MyBatis中写SQL语句时不等于用 <> 代替 <> 多个条件中的模糊查询 SELECT * FROM 表名 WHERE (字段1 <> "" 字段2 <> "") and (字…

2022图机器学习必读的11大研究趋势和方向: 微分方程/子图表示/图谱理论/非对称/动态性/鲁棒性/通用性/强化学习/图量子等...

来源&#xff1a;机器学习研究组订阅作者&#xff1a;Michael Bronstein 牛津大学DeepMind人工智能教授、Twitter图机器学习负责人编译&#xff1a;熊宇轩一、要点概述几何在机器学习中变得越来越重要。微分几何和同源场为机器学习研究引入了新的思想&#xff0c;包括利用了对…

day31 线程

01 进程间通信 """ 队列:先进先出 堆栈:先进后出 """ from multiprocessing import Queue q Queue(5) # 括号内可以传参数 表示的是这个队列的最大存储数 # 往队列中添加数据 q.put(1) q.put(2) print(q.full()) # 判断队列是否满了 q.put(3)…

06.动态SQL和foreach

动态sql: 映射文件代码: 1 <!-- 动态sql,根据名字和年龄查询,where标签会处理第一个and&#xff0c;其他位置的and不会自动处理 -->2 <select id"queryStudentByNameAndAge" parameterType"student" resultMap"student1">3 s…

机器学习理论基础到底有多可靠?

来源&#xff1a;机器学习算法与Python实战选自&#xff1a;aidancooper.co.uk 作者&#xff1a;Aidan Cooper编译&#xff1a;机器之心 知其然&#xff0c;知其所以然。机器学习领域近年的发展非常迅速&#xff0c;然而我们对机器学习理论的理解还很有限&#xff0c;有些模型…

07.MyBatis中的关联查询

关联查询&#xff1a; 一对一&#xff1a; 两种方式实现: 1.通过业务扩展的方式进行一对一查询&#xff0c;新建一个实体类&#xff0c;继承其中属性多的一个&#xff0c;然后写上另一个类中的属性&#xff1a; 实体类: 映射文件: 1 <!-- 业务扩展的方式进行一对一查询&…

黄仁勋回应放弃收购Arm:公司战略并没有太大改变

来源&#xff1a;网易智能2月21日消息&#xff0c;芯片巨头英伟达不久前公布了2022财年第四财季财报&#xff0c;显示其营收较上年同期猛增53%&#xff0c;游戏、数据中心和专业可视化市场平台也都实现了创纪录的收入。财报发布后&#xff0c;该公司首席执行官黄仁勋接受美国科…

20190423面试记录

1&#xff09;apply&#xff0c;call&#xff0c;bind的区别 &#xff1f; 应用场景&#xff1a;用于改变this的指向 apply接收两个参数&#xff0c;第一个函数this将指向的对象&#xff0c;第二个是数组函数接收的参数 call接收多个参数&#xff0c;第一个函数this将指向的对象…

无生命的AI算不上「智能」

来源&#xff1a;AI前线作者&#xff1a;Ben Dickson译者&#xff1a;王强策划&#xff1a;刘燕什么是智能&#xff1f;以非常快的速度解决复杂的数学问题就算智能吗&#xff1f;在国际象棋中击败世界冠军的力量算智能吗&#xff1f;分辨图像中数千个不同对象的能力算智能吗&am…

08.MyBatis整合Log4j

MyBatis整合Log4j&#xff1a; 1.导入log4j.jar 2.在conf.xml中开启日志文件: 1 <!-- 配置日志文件 --> 2 <settings> 3 <setting name"logImpl" value"LOG4J"/> 4 </settings> 如果不指定,MyBatis就会根据一下顺…

MySQL 练习 创建表格2

|--需求说明 #实践课&#xff0c;使用SQL语句创建成绩表#要求&#xff1a;在数据库myschool中&#xff0c;使用SQL语句创建成绩表result&#xff0c;result的结构表见书上 |--实现思路 采用创建表的语句完成 |--代码内容 #实践课&#xff0c;使用SQL语句创建成绩表 #要求&#…

前沿速递:因果涌现在多种因果衡量标准下普遍存在

来源&#xff1a; 集智俱乐部作者&#xff1a;陈昊编辑&#xff1a;邓一雪导语因果涌现理论指出&#xff0c;在宏观尺度下观察复杂系统可以减少因果关系中的噪声&#xff0c;从而得到具有更强因果关联的系统。目前该理论已经在有效信息和整合信息的因果度量标准下得到的验证&am…

JavaScript每日学习日记(2)

8.13.2019 1. 正则表达式常见字符串方法&#xff1a; search( ) , replace( ) var str "Visit Website"; var n str.search(/website /i); var str "Visit Microsoft!"; var res str.replace("Microsoft", " Website "); 2. 如果未…

类脑计算的一大突破 BrainScaleS-2

来源&#xff1a;混沌巡洋舰今天最成功的人工智能算法&#xff0c;人工神经网络&#xff0c;是基于我们大脑中错综复杂的真实神经网络。但与我们高效的大脑不同的是&#xff0c;在计算机上运行这些算法消耗了惊人的能量: 最大型的模型在训练全过程中消耗的能量几乎相当于五辆汽…

委托、Lambda表达式、事件系列07,使用EventHandler委托

谈到事件注册&#xff0c;EventHandler是最常用的。 EventHandler是一个委托&#xff0c;接收2个形参。sender是指事件的发起者&#xff0c;e代表事件参数。 □ 使用EventHandler实现猜拳游戏 使用EventHandler实现一个猜拳游戏&#xff0c;每次出拳&#xff0c;出剪刀、石头、…