黑马程序员技术交流社区

标题: 【济南中心】PHP课程同步笔记day06:JS介绍(三) [打印本页]

作者: 小鲁哥哥    时间: 2017-3-13 15:07
标题: 【济南中心】PHP课程同步笔记day06:JS介绍(三)
本帖最后由 小鲁哥哥 于 2017-3-13 15:23 编辑

【济南中心】PHP课程同步笔记day06:JS介绍(三)
数组:
        数组对象用来在单独的变量名中存储一系列的值。
        我们使用关键词 new 来创建数组对象。下面的代码定义了一个名为 myArray 的数组对象:var myArray=new Array()
        有两种向数组赋值的方法(你可以添加任意多的值,就像你可以定义你需要的任意多的变量一样)。
        1:
                var mycars=new Array()
                mycars[0]="Saab"
                mycars[1]="Volvo"
                mycars[2]="BMW"
        2:
                var mycars=new Array("Saab","Volvo","BMW")
        注意:如果你需要在数组内指定数值或者逻辑值,那么变量类型应该是数值变量或者布尔变量,而不是字符变量。
访问数组
        通过指定数组名以及索引号码,你可以访问某个特定的元素。
                document.write(mycars[0])
修改已有数组中的值
        如需修改已有数组中的值,只要向指定下标号添加一个新值即可:mycars[0]="Opel";
数组的属性:
        获得数组的长度length
        Var len = arr.length如果保存到变量里面,这个时候变量里面保存的是数字,如果说直接把arr.length写到循环里面,循环的时候会在去arr.length找长度(个数)
        格式:var arr=[10,20,30];
        数据:[10,20,30]
        下标:[0,1,2]
数据
10
20
30
下标
0
1
2
案例求学生成绩之和:
[HTML] 纯文本查看 复制代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title> new document </title>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
  <script type="text/javascript">
var arr=[96,98,88,92,45,48,56,96,87,55,62,22];
var len = arr.length;
alert(len);
var sum=0;
for(var i=0;i<len;i++){
sum = sum+arr;
}
document.write("学生总成绩为:"+sum);
</script>
</head>
<body>
</body>
</html>
案例:求学生平均成绩
[HTML] 纯文本查看 复制代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title> new document </title>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
  <script type="text/javascript">
var arr=[96,98,88,92,45,48,56,96,87,55,62,22];
var len = arr.length;
var sum=0;
for(var i=0;i<len;i++){
sum = sum+arr;
}
var avg = sum/len;
document.write("学生平均成绩为:"+avg);
  </script>
</head>
<body>
</body>
</html>
案例:数组排序(从小到大)
冒泡排序法:
[HTML] 纯文本查看 复制代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title> new document </title>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
  <script type="text/javascript">
        function bubbleSort(array){
                for(var j=0;j<array.length;j++){
                        for(var i=0;i<=array.length-j-1;i++){
                                if(array>array[i+1]){
                                        var temp = array;
                                        array.splice(i,1,array[i+1]);
                                        array.splice(i+1,1,temp);
                                }
                        }
                }
        return array;
        }
        document.write(bubbleSort([21,5,6,78,3,1,25]));
  </script>
</head>
<body>
</body>
</html>
效果:
        
二维数组
数组内部数据为数组
        Var arr1 = [23,12,56];
        Var arr2 = [45,12,33];
        Var arr3 = [34,44,55];
        Var arr=[arr1,arr2,arr3];
        Arr = [
                [23,12,56],
                [45,12,33],
                [34,44,55],
        ];
案例:求二维数组的最大值
[HTML] 纯文本查看 复制代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title> new document </title>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
  <script type="text/javascript">
var arr = [
[23,12,56],
[45,12,33],
[34,44,55],
];
var max = arr[0][0];
var xiabiao1 = 0;
var xiabiao2 = 0;
for(var i=0;i<arr.length;i++){
for(var j=0;j<arr.length;j++){
if(max<arr[j]){
max = arr[j];
xiabiao1=i;
xiabiao2=j;
}
}
}
document.write("最大值为:"+max+",下标为:"+xiabiao1+","+xiabiao2);
  </script>
</head>
<body>
</body>
</html>
效果:
        
数组方法
        concat() 方法用于连接两个或多个数组。
        该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
        连接数组和字符串:
[JavaScript] 纯文本查看 复制代码
<script type="text/javascript">
var a = [1,2,3];
document.write(a.concat(4,5));
</script>
        输出:
        1,2,3,4,5
连接两个数组:
[JavaScript] 纯文本查看 复制代码
<script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
var arr2 = new Array(3)
arr2[0] = "James"
arr2[1] = "Adrew"
arr2[2] = "Martin"
document.write(arr.concat(arr2))
</script>
输出:
George,John,Thomas,James,Adrew,Martin

arr.join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。
[JavaScript] 纯文本查看 复制代码
<script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr.join())
</script>
输出:
        George,John,Thomas
Arr.pop() 方法用于删除并返回数组的最后一个元素
[JavaScript] 纯文本查看 复制代码
<script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr)
document.write("<br />")
document.write(arr.pop())
document.write("<br />")
document.write(arr)
</script>
输出:
        George,John,Thomas
        Thomas
        George,John
Arr.reverse()用于颠倒数组中元素的顺序
[JavaScript] 纯文本查看 复制代码
<script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr + "<br />")
document.write(arr.reverse())
</script>
输出:
George,John,Thomas
Thomas,John,George

识别方法和属性
        属性:对象.属性名;
        方法:对象.方法名();

Math 对象
        Math.pow(n1,n2);求n1的n2次方
[JavaScript] 纯文本查看 复制代码
<script type="text/javascript">
document.write(Math.pow(0,0) + "<br />")
document.write(Math.pow(-2,3) + "<br />")
document.write(Math.pow(-2,4) + "<br />")
</script>
结果:
        1
        -8
        16
        Math.abs(n);可返回数的绝对值
[JavaScript] 纯文本查看 复制代码
<script type="text/javascript">
document.write(Math.abs(7.25) + "<br />")
document.write(Math.abs(-7.25) + "<br />")
document.write(Math.abs(7.25-10))
</script>
输出:
        7.25
        7.25
        2.75
Math.random();可返回介于 0 ~ 1 之间的一个随机数
Math.floor(n);向下取整,不大于n的最大的整数
Math.ceil(n);向上取整,不小于n的最小的整数
案例:
        求两个数字之间的随机数
                1)得到0到1之间的数字
                2)得到求0到任意数字间的随机数math.random()*n
                3)Math.random()*(大数-小数)
                4)乘以任意的数字,得到最大值向下取整后是这个数字-1
                5)乘以任意数字+1,就能得到最大值向下取整后得到这个数字
                6)Math.floor(math.random()*(大数-小数+1))+小数

作者: 雷先生    时间: 2017-3-22 20:15
厉害了,我的哥。
作者: 沈唁    时间: 2017-4-22 08:45
学习学习
作者: AllenIverson    时间: 2017-5-16 10:52
黑马加油
作者: wumingze    时间: 2017-6-4 09:26
66666666666666666666啊
作者: 醉梦了红尘    时间: 2017-10-1 22:25
wumingze 发表于 2017-6-4 09:26
66666666666666666666啊

学到了,感谢分享 6666666666


作者: 针布挫    时间: 2020-9-25 18:06
刚刚接触php就碰壁了。安装了phpstudy运行正常,但是网页解析不了试过很多办法都不行。有哪位大神帮帮我




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2