您的位置:首页 > Web前端 > JavaScript

JavaScript学习【持续更新】

2016-06-26 17:20 441 查看
JS继续学习中。。。。。。

//-------------------------------------------------------------------------------------------------------------------------------------//

JS中数组:用于存储更多的数据,是一个容器.
特点:1,长度是可变的。2,元素的类型是可变的。

JavaScript数组的定义有两种方式:

第一种:

var arr=[], var arr = [1,2,3,4];

第二种:

var arr1 = new Array();//定义数组长度为5.

var arr2 = new Array(5,6,7);//定义一个数组,元素是5,6,7

var arr = [12,23,34,31,32];
//alert(typeof(arr));//对象类型Object
//alert("len的长度为:"+arr.length);  //len的长度为:5
//遍历数组:
for(var i=0;i<arr.length;i++){
document.write("arr["+i+"]="+arr[i]+"<br/>");
}

 

JS函数:功能的封装体,两个明确(明确功能的封装体,明确实现参与运算的位置的内容)

函数定义格式:通过指定的关键字俩定义。

函数定义的格式如下:

function 函数名(参数列表){
函数体:
return 返回值; //如果没有具体的返回值,return语句可以省略.

}

例1(体验):

function method(){
alert("methode run ......");
return; //return可以省略
}
method(); //调用函数.
//输出的结果为 method rum......


例子2(体验):
function method2(){
var a=10,b=20;
var c=a+b;
alert("c="+c);
eturn c;
}
method2();
//输出的结果为:c=30


匿名函数:指的是没有名字的(函数的一种简写格式).
var sum = function(a,b){
return a+b;
}
alert(sum(10,20));//输出的结果为:30


JavaScript函数中的一些细节问题处理:
function getSum(){
sum1 = 100;
sum2 = 200;
sum = sum1+sum2;

eturn sum;
}
var sum = getSum();//getSum运行,并将返回结果赋值个sum
//var sum = getSum;//指向对象,打印的是函数字符串类型
alert("sum="+sum);


JavaScript函数练习:

(练习一):
<script type="text/javascript">
/**
练习一:获取数组的最大值
*/
var arr = [11,2,4,21,34,23,56,89,121,67];//定义数组元素
//定义函数体
function getMax(arr){
var max = 0;
//循环遍历
for(var i=1;i<arr.length;i++){
//判断
if(arr[i]>arr[max]){
max = i;
}
}
return arr[max];
}

var maxValue = getMax(arr);//定义一个变量指向函数体
document.write("maxValue ="+maxValue);

</script>
//输出结果为maxValue =121
(练习二):
/**
对数组元素进行排序
*/
var arr = [11,2,4,21,34,23,56,89,121,67];//定义数组元素
//对数组进行排序
function sortArray(arr){
for(var x=0;x<arr.length-1;x++){//arr.length-1是为了避免数组角标越界
for(var y=x+1;y<arr.length;y++){
if(arr[x]>arr[y]){
swap(arr,x,y);
}
}
}
}
//定义函数对数组中的元素位置互换
function swap(arr,x,y){
var temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}

document.write("排序前:"+arr+"<br/>");//排序前
sortArray(arr);
document.write("排序后:"+arr);
//排序后:
/**
输出结果为:
排序前:11,2,4,21,34,23,56,89,121,67
排序后:2,4,11,21,23,34,56,67,89,121
*/

练习三

<script type="text/javascript">
/*对数组进行查找,(拆半查找的前提是:数组必须是有序的)
*/
var arr = [1,2,4,5,8,90,32,3,32,44];//定义数组元素
function searchElement(arr,key){
for(var x=0;x<arr.length;x++){
if(arr[x]==key)
return x;
}
return -1;
}
sum = searchElement(arr,90);
document.write(sum);

//拆半查找(拆半查找的前提是:数组必须是有序的)
function binarySearch(arr,key){
var max,min,mid;
min = 0;
max = arr.length-1;
while (min<=max){
mid = (max+min)>>1;
if(key>arr[mid])
min = mid+1;
else if(key<arr[mid])
max = mid-1;
else
return mid;
}
return -1;
}
sum = binarySearch(arr,90);
document.write(sum);
</script>

输出结果为:5,5
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: