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(体验):
例子2(体验):
匿名函数:指的是没有名字的(函数的一种简写格式).
JavaScript函数中的一些细节问题处理:
JavaScript函数练习:
(练习一):
练习三
<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
//-------------------------------------------------------------------------------------------------------------------------------------//
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
相关文章推荐
- 用JS实现轮播图效果(二)
- Express.js安装
- js基础学习之-js包装对象
- js基础
- sphinx 源码阅读之json, hash table配置分析器
- javascript异步编程
- 动态获取时间
- js基础学习之-js对象的属性
- BZOJ 2208: [Jsoi2010]连通数
- 用JS实现图片轮播效果代码(一)
- FAST解析JSON
- GSON解析JSON
- js根据当前时间获取当前季度,月份,和第几周
- ORG的JSON解析
- JavaScript中Function类型
- Web 2.0 大环境下 JavaScript 的 MVC 赶潮风儿
- 用 JAX-RS 和 JSR 371 规范设计一个 MVC 框架(一)开篇
- JavaScript学习
- JavaScript SDK 设计指南
- JS禁止选中文本方法