javaScript基础02

数组:可以存储很多项,有顺序,形成一个集合,就叫数组array

数组 []

例如 var names = [];

获取数组中的元素,可以使用下标的方式:

var names = ["张三" ,"李四" ,"麻五" ,"赵六",];

oneName = names[0];--->"张三"

数组的长度 array.length;

修改数组元素: array[下标] = "xx"; 如果下标不存在,就会在末尾增加对应的新的元素

增加数组的元素:array.append("x");


求 var numbers = [65,13,88,10,25] 中的最大值

var numbers = [65,13,88,10,25];
var max = 0;

for (var i = 1;i < numbers.length ;i++){

if (max < numbers[i]){
max = numbers[i];
}
}
console.log(max);

数组排序:array.sort();

翻转输入:array.reverse();

冒泡排序算法:

// 冒泡排序算法,两两交换,每一行交换length -1次,一共需要length -1 行
var numbers = [65,13,88,10,25];

for (var i = 0;i < numbers.length - 1; i++){ //外行循环

for(var j = 0;j < numbers.length - (i+1);j++){

if (numbers[j] > numbers[j + 1]){

var temp = numbers[j + 1];

numbers[j + 1] = numbers[j];

numbers[j] = temp;
}

}


}


函数:
定义函数 function func(形参,形参,){
函数体
}

条用函数 func(实参,实参,);

获取函数中的实参的列表

arguments:当不确定实参有多少个的 时候,使用arguments;

console.log(arguments);


// 求斐波拉契数列地N个数是多少?

function getfbi(n){

var n1 = 1;
var n2 = 1;
var n3;

for (var i =3;i <= n;i++){

n3 = n1 + n2;

n1 = n2;

n2 = n3;
}

console.log(n3);
}

getfbi(3);


// 反转数组

function reverseArray(arr){
var newArr = [];
for (var i = 1;i <=arr.length;i++){
newArr[newArr.length] = arr[arr.length -i ];
}
console.log("oldarray = "+arr);
console.log(newArr);
}
reverseArray([2,7,4,6,2,9,3,2,8]);

自调用函数:
(function (){
函数体;
})();


预解析:
在浏览器解析javaScript代码之前,会进行预解析:
1.变量提升,把变量的声明提升到当前作用域的最前,不包括赋值.
2.函数提升,把函数的声明提升到当前作用域的最前面.不包括赋值.

注意:每到一层作用域,都会进行预解析,然后在进行操作.
注意二:若果同一个作用域,遇到变量和函数的名字一样,此时会优先调用函数.

预解析只是提升了变量和函数声明,其他顺序该怎么排还是怎么拍.

var num;
function fun(){
var num;
console.log(num);
num = 20;

}
num = 10;
fun();

对象:
定义一个对象:
var xiaoming = {

键值对;
name = "hua";
sayHi:function () {
console.log(1);
}

}

猜你喜欢

转载自www.cnblogs.com/huasongweb/p/9716257.html