▌reverse
- 反轉
原陣列
var a=[1,2,3]
console.log(a.reverse()) // [3,2,1]
▌sort
- 排序
原陣列
,如果不用引數,就用abc順序來排序
var a=["c","v","a"]
console.log(a.sort())
▌concat
- 結合兩個陣列,並
回傳
一個新的陣列
var a=["a","b","c"]
var b=[1,2,3]
c=a.concat(b)
console.log(c)
原陣列
var a=[1,2,3]
console.log(a.reverse()) // [3,2,1]
原陣列
,如果不用引數,就用abc順序來排序var a=["c","v","a"]
console.log(a.sort())
回傳
一個新的陣列var a=["a","b","c"]
var b=[1,2,3]
c=a.concat(b)
console.log(c)
var a= [1,2,3,4]
a.push(5) // [1,2,3,4,5]
a.pop() // [1,2,3,4]
回傳
該元素var a= [1,2,3,4,5];
a.shift() // a= [2,3,4,5]
var a= [1,2,3,4,5];
a.unshift(2)
console.log(a) // [2,1,2,3,4,5]
回傳
var a= [1,2,3,4]
var b=a.join(",") // 1,2,3,4
回傳
陣列var a= "abcd";
var b=a.split("");
console.log(b);
元素(element)
跟索引(index)
物件
,Zero based 從0開始最大到2^32-2自動擴充
Var a=[,,]沒有元素但是會得出length=2(因為可以尾隨逗點)
Var a = new array()
Var a =new array(10) /指定元素的數量,但是此時還沒有index
console.log(a.length); //10
console.log(a[0]); //undefined
var a = [1,2,3]
console.log(typeof a) // object
console.log(a instanceof Array) // trye
X in array
:可以查詢索引
(也就是物件的特性)var a= [1,2,3,5]
console.log(3 in a) //true
var a = [1,2,3,4,5]
console.log(a.indexOf(1)) //0
var person={
name:"neo",
age:12
}
var person2={
name:"nissen",
age:21
}
function show(){
console.log(this.name+" is "+this.age);
}
show.call(person) //neo is 12
show.call(person2) //nissen is 21
console.log(show.bind(person)) //[Function: bound show]
外層物件的變數
,但是不可以調用超過一層的物件
。如果需要,必須用self來調用。var obj={
name:"neo",
outer:function(){
var self=this;
function inner(){
console.log(self.name);
}
inner();
},
};
obj.outer(); // neo
定義時生效的chain
var scope="global scope";
function checkscope(){
var scope="local scope";
function inner(){
return scope;
}
return inner;
}
console.log(checkscope()()); //local scope
function outer(){
var a=12;
function inner(){
function very_inner(){
console.log(a)
}
very_inner();
}
inner();
}
outer();
// 會回傳12
宣告(declaration)變數
,再把函式再指定給它var age=function(){
console.log("20");
}
function name(){
console.log("neo")
}
(function(){console.log("hi")})()
物件
,擁有參數(Parameter)跟引數(argument)。有些函數透過引數會產生回傳值(return value)物件
,會存放傳入的數值function add(x,y){
console.log(arguments)
console.log(arguments.length)
}
add(2,3)
// [Arguments] { '0': 2, '1': 3 }
// 2
//實作取MAX值
function max(){
for(i=0;i<arguments.length;i++){
var max=Number.NEGATIVE_INFINITY; // 最大負值
if (arguments[i]> max) max=arguments[i]
}
return max
}
console.log(max(2,3,1000)) //1000
會將運算的值return給互叫者(Caller)
,如果相應的運算值結果,就會return undefined。函式
var scope="global scope";
function checkscope(){
var scope="local scope";
function inner(){
return scope;
}
return inner;
}
var a = function(){
....
}
function a () { .... }
If的寫法 我們希望當變數是a時就回傳1,變數是b就回傳2,變數是c就會回傳3,一般寫法就是用if,但是這樣會很冗 // IF style var word if(word == 'a'){ word = 1 } else if...