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

JavaScript每日学习日记(1)的更多相关文章

  1. JavaScript每日学习日记(2)

    8.13.2019 1. 正则表达式常见字符串方法: search( ) , replace( ) var str = "Visit Website"; var n = str.s ...

  2. JavaScript每日学习日记(0)

    8.10.2019 1.JavaScript能改变HTML内容.属性.样式,能隐藏或显示HTML元素. 2.JavaScript函数可以任意数量被放置在<body>.<head> ...

  3. 前端学习日记之HTML、CSS 简单总结

    前端学习日记之HTML.CSS 简单总结 标签(空格分隔): html css 前端学习日记 html超文本标记语言 一. h标题标签 h1-h7 <!DOCTYPE html> < ...

  4. JavaWeb学习日记----表单提交方式

    1.表单提交方式 (1) 使用input控件中的submit提交 代码如下: <!DOCTYPE html> <html lang="en"> <he ...

  5. 初步总结javascript中学习DOM之前的知识

    嘿嘿,又到了周末时间,周六其实就是总结这周的学习的,记得周二周三刚开始接触javascript时间,还是不知道怎么学习的,就感觉找不到方向,那时间学习的只是总结了一些简单的定义或者是学习结构,今天就把 ...

  6. JavaScript Shell学习分享

    目录 JavaScript Shell学习分享 简介 安装 使用原因 小结 JavaScript Shell学习分享 简介 JavaScript Shell是由Mozilla提供的综合JavaScri ...

  7. C++学习日记:关于我决定开始学习C++的那些事

    苦恼于Python运行时感人的速度,我决定学习C++. 为了激励我自己好好地学习这门未曾谋面的编程语言,我决定在此开设专栏:C++学习日记.希望在读者们的监督下,我可以早日掌握这门语言.当然,如果那位 ...

  8. Linux学习日记-使用EF6 Code First(四)

    一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是  请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...

  9. android学习日记05--Activity间的跳转Intent实现

    Activity间的跳转 Android中的Activity就是Android应用与用户的接口,所以了解Activity间的跳转还是必要的.在 Android 中,不同的 Activity 实例可能运 ...

随机推荐

  1. 使用阿里大于平台发送短信验证码java代码实现

    待续..网站app后台还未完成,不能添加签名,短信不能正常发送. Tip: https://help.aliyun.com/document_detail/55284.html?spm=5176.sm ...

  2. 【GBK、UTF-8、ISO8859-1】三种编码方式总结及实例

    感谢:https://blog.csdn.net/youngstar70/article/details/64117297 一.总结 在Java中,String的getBytes()方法是得到一个操作 ...

  3. 将本地的一个项目托管到自己的GitHub仓库

    GitHub作为全球最大的代码托管平台,功能十分强大.我们可以在上面建立一个仓库来托管我们的代码图片等资源.因为使用markdown语法来写博客所以在插入图片时需要一个图片外链地址,起初去网上找了一个 ...

  4. Bar条形图

    import matplotlib.pyplot as plt import numpy as np n = 12 X = np.arange(n) Y1 = (1 - X / float(n)) * ...

  5. 网络健身O2O,能火吗?

       谈到中国想要020的那些项目,总给人一种土豪烧钱的怪异形象,而最终的成败因素也变得简单,也即谁能烧到最后,谁就能称霸市场,可问题在于,前期投入太多,谁也不甘心主动退出,最后,只落得个油尽灯枯.这 ...

  6. wxpython(2)--按钮,位图按钮,滑动块,微调控制器

    本文介绍按钮,位图按钮,滑动块,微调控制器**.. 按钮 基本按钮 创建一个按钮,绑定点击事件,点击后修改Label 123456789101112131415161718 import wx cla ...

  7. Mysql SQL Mode简介

    MySQL服务器能够工作在不同的SQL模式下,并能针对不同的客户端以不同的方式应用这些模式.这样,应用程序就能对服务器操作进行量身定制以满足自己的需求.这类模式定义了MySQL应支持的SQL语法,以及 ...

  8. pyteeseract使用报错Error: one input ui-file must be specified解决

    Python在图像识别有天然的优势,今天使用pytesseract模块时遇到一个报错:“Error: one input ui-file must be specified”. 环境:windows ...

  9. Asp.net Core MVC(四)

    上一篇说的是asp.net mvc核心UseMvc的过程,末尾想捋一下asp.net核心的路由流转过程,现在看来还是要准备下一个代码,熟悉了代码,那么整个流转过程就通了〜 不多说,今儿先看下,Rout ...

  10. 使用MySQL练习增删改查时因为版本问题出现连接错误

    使用MySQL练习增删改查时出现连接错误,错误提示如下: 2020-02-19 19:53:51.088 ERROR 16328 --- [reate-249798694] com.alibaba.d ...