javascript
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
總結
以上是生活随笔為你收集整理的JavaScript每日学习日记(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 总结出来的一些ASP.NET程序性能优化
- 下一篇: gradle idea java ssm