JavaScript每日学习日记
Posted zccfrancis
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript每日学习日记相关的知识,希望对你有一定的参考价值。
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每日学习日记的主要内容,如果未能解决你的问题,请参考以下文章