关于javascript:JSNOTE

2次阅读

共计 5996 个字符,预计需要花费 15 分钟才能阅读完成。

ARRAY

Array.concat()

会将参数连接到 array 中失去一个新数组并返回,不会批改原 array;

如果传入的某个参数是数组,则会将该数组的元素连接进去

var a=[1,2,3]

a.concat(4,5); // 返回[1,2,3,4,5]

a.concat([4,5]); // 返回[1,2,3,4,5]

a.concat(4,[5,[6,7]]) // 返回[1,2,3,4,5,[6,7]]


Array.join()

将 array 的每一个元素转换为字符串,并通过在两头插入指定的参数字符,将其衔接起来,返回连接好的字符串

a = new Array(1,2,3,”testing”);

s = a.join(“+”); //s = “1+2+3+testing”


Array.push()

将参数按程序追加到 array 尾部,会间接批改原 array,并返回 array 的新长度

var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];

fruits.push(“Kiwi”) //fruits=[“Banana”, “Orange”, “Apple”, “Mango”, “Kiwi”];


Array.pop()

将移除 array 的最初一个元素,缩短数组的长度,并返回所移除元素的值;

如果数组为空,返回值是 undefined

var stack=[];

stack.push(1,2); //stack:[1,2] 返回 2

stack.pop(); //stack:[1] 返回 2

stack.push([4,5]); //stack:[1,[4,5]] 返回 2

stack.pop(); //stack:[1] 返回[4,5]


Array.reverse()

颠倒数组元素的程序,它会在原数组中进行操作


Array.shift()

移除并返回 array 的第一个元素,如果数组为空,则间接返回 undefined,返回数组原来的第一个元素


Array.unshift()

将参数插入 array 的头部,间接批改数组自身,返回数组的新长度


Array.splice()

array.splice(start,deleteCount,value,…)

将删除从数组索引 start 处 (包含 start) 开始的零个或多个元素,并用参数列表中指定的值来替换掉所删除的元素,并且将间接批改数组,且返回另一个新数组,蕴含所删除的元素

var a=[“Banana”, “Orange”, “Apple”, “Mango”];

a.splice(1,2);// 返回[“Orange”, “Apple”]; a 变为[“Banana”,”Mango”];


Array.slice()

array.slice(start,end)

返回的数组蕴含从索引 start 处始终到 end 之间 (蕴含 start 不含 end) 的元素,如无 end,则至尾部的所有元素;

如果 start 为正数,则示意从数组尾部开始计算,- 1 为最初一个元素,以此类推

如果 end 为正数,则示意从数组的尾部开始计算;

slice 没有批改原数组

var a =[1,2,3,4,5];

a.slice(0,3); // 返回[1,2,3];

a.slice(3); // 返回[4,5];

a.slice(1,-1); // 返回[2,3,4]


Array.every()

array.every(function(){}); array.every(function(){},o);

用来测试数组的所有元素是否满足某些条件; 会依照序号从小到大遍历元素,并对每个元素调用指定的 function, 如果其返回为 false(或任何能转化为 false 的值),则会进行遍历,整体立即返回 false; 如果每一次调用都返回 true,或者遍历的数组为空时,则整体返回 true;

[1,2,3].every(function(x){return x<5;}) //=>true;所有元素都 <5

[1,2,3].every(function(x){return x<3;}) //=>false;


Array.some()

顺次对数组的每个元素遍历 function,如果其返回 true,则会进行遍历,立即返回 true;如果每一次调用都返回 false,或者数组为空时,则返回 false

[1,2,3].some(function(x){return x>5}); //false;

[1,2,3].some(function(x){return x>2}); //true;


Array.map()

返回一个新数组,将 array 的元素传递,遍历调用 function,不会扭转原数组

[1,2,3].map(fucntion(x){return x*x;}); // =>[1,4,9]


Array.filter()

返回一个新数组,将 array 的元素传递,遍历调用 function, 过滤出合乎的元素

[1,2,3].filter(function(x){return x>1;}); // =>[2,3]


Array.forEach()

无返回值,只是遍历数组中的每一项进行 funciton 调用

var a=[1,2,3];

a.forEach(function(x,i,a){a[i]++;}); // a=>[2,3,4];


Array.indexOf()

array.indexOf(value,start)

在 array 中查问等于 value 的元素,并返回找到第一个元素的序号索引,从 start 地位开始,如没有 start,则从 0 开始, 如果没找到匹配的,返回 -1

[‘a’,’b’,’c’].indexOf(‘b’); // => 1

[‘a’,’b’,’c’].indexOf(‘d’); // => -1

[‘a’,’b’,’c’].indexOf(‘a’,1); // => -1


Array.lastIndexOf()

返回一个指定的字符串值 最初呈现的地位 ,如果指定第二个参数 start,则在一个字符串中的指定地位从 后向前搜寻

var str=”I am from runoob,welcome to runoob site.”;

var n=str.lastIndexOf(“runoob”, 9);

document.getElementById(“demo”).innerHTML=n; // => -1


Array.reduce()

array.reduce(function(){},inital)

按 array 的前 2 个元素进行 function 调用,接下来的调用传入之前计算值和 array 的下一个元素;

如果传入 inital,则第一次调用时,以 inital 为第一个值带入,array[0]为第二个值

var numbers = [15.5, 2.3];

function getSum(total, num) {

return total + Math.round(num);

}

function myFunction(item) {

document.getElementById(“demo”).innerHTML = numbers.reduce(getSum, 0);

}

// 第一步:0+ Math.round(15.5);=>0+16=16

// 第二步:16+ Math.round(2.3);=>16+2=18


Array.reduceRight()

遍历数组是从右到左(从最大的序号到最小的)


Array.sort()

在原数组中对数组元素进行排序,排序程序能够是字母或数字,并按升序或降序。

默认排序程序为按字母升序。

var points = [40,100,1,5,25,10];

points.sort(function(a,b){return a-b}); //=>1,5,10,25,40,100

points.sort(function(a,b){return b-a}); //=>100,40,25,10,5,1

var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];

fruits.sort(); //=>Apple,Banana,Mango,Orange


Array.toString()

将数组转化成字符串,并返回该字符串


Array.toLocaleString();

将数组转化成本地化字符串

var d = new Date();

d.toLocaleString(); //=>2019/6/26 下午 5:13:06

d.toString(); //=>Wed Jun 26 2019 17:13:32 GMT+0800 (中国规范工夫)


STRING

string.slice()

stringObject.slice(start,end) // 起始下标 (不蕴含开始) 和完结下标,正数则从后往前

提取字符串的某个局部,并以新的字符串返回被提取的局部

var str=”Hello happy world!”

document.write(str.slice(6)) //=>happy world!

document.write(str.slice(6,11)) //=>happy


string.split()

stringObject.split(separator,howmany) 返回的是数组!

//字符串或正则表达式; 指定返回的数组的最大长度

var str=”How are you doing today?”

document.write(str.split(” “) + “
“) //How,are,you,doing,today?

document.write(str.split(“”) + “
“) //H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?

document.write(str.split(” “,3)) //How,are,you

“2:3:4:5”.split(“:”) // 将返回[“2”, “3”, “4”, “5”]

“|a|b|c”.split(“|”) // 将返回[“”, “a”, “b”, “c”]


string.substr()

stringObject.substr(start,length) // 起始下标(不蕴含开始);字符串的字符数

var str=”Hello world!”

document.write(str.substr(3)) //lo world!

document.write(str.substr(3,7)) //lo worl


string.substring();

stringObject.substring(start,stop) // 起始下标(不蕴含开始);完结下标

var str=”Hello world!”

document.write(str.substring(3)) //lo world!

document.write(str.substring(3,7)) //lo w


string.concat()

stringObject.concat(stringX,stringX,…,stringX)

连贯两个或多个字符串

var str1=”Hello”

var str2=”world!”

document.write(str1.concat(str2)) //=>Helloworld!


string.indexOf()

stringObject.indexOf(searchvalue,fromindex) //检索的字符串值 ; 开始检索的地位

var str=”Hello world!”

document.write(str.indexOf(“Hello”))//=>0


string.lastIndexOf()

从后往前搜


string.match()

在字符串内检索指定的值,或找到一个或多个正则表达式的匹配

var str=”Hello world!”

document.write(str.match(“world”)) //=>world

document.write(str.match(“World”) ) //=>worldnull

var str=”1 plus 2 equal 3″

document.write(str.match(/\d+/g)) //=>1,2,3


string.replace(regexp/substr,replacement)

var str=”Visit Microsoft!”

document.write(str.replace(/Microsoft/, “W3School”)) //=>Visit W3School!


string.serach()

用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串

var str=”Visit W3School!”

document.write(str.search(/W3School/)) //=>6


string.chartAt()

stringObject.charAt(index) //index 是字符在字符串中的下标。

var str=”Hello world!”

document.write(str.charAt(1)) //=>e


string.toString()

var arr = new Array(3)

arr[0] = “George”

arr[1] = “John”

arr[2] = “Thomas”

document.write(arr.toString()) //”George,John,Thomas”


String(abc)

有些值,如 undefined 和 null 无奈应用.toString();

故应用该 API;


string.valueOf()

返回该原始值

var d=new Date();

var n=d.valueOf(); //1562057107221


string.sub()

字符串显示为下标


string.sup()

字符串显示为上标


string.small()

小字号显示字符串


string.big()

大字号显示字符串


string.strike()

删除线显示字符串


toLocaleLowerCase()

把字符串转换为小写


toLocaleUpperCase()

把字符串转换为大写


string.charCodeAt()

stringObject.charCodeAt(index)

办法可返回指定地位的字符的 Unicode 编码

var str=”Hello world!”

document.write(str.charCodeAt(1)) //=>101


string.fixed()

把字符串显示为打字机字体


string.fontcolor(color)

依照指定的色彩来显示字符串


string.fontcolor(color)

应用指定的尺寸来显示字符串


string.fromCharCode(72,69,76,76,79)

承受一个指定的 Unicode 值,而后返回一个字符串


string.italics()

用斜体显示字符串


string.link()

将字符串显示为链接


正文完
 0