博客列表 >数组与函数的调用(0226)

数组与函数的调用(0226)

小辰
小辰原创
2020年03月05日 16:07:29974浏览

1.数组的访问与遍历

数组对象的作用是:

使用单独的变量名来存储一系列的值。

数组的访问

使用数组索引可以直接访问
例如:arr[i]
其中i可以是数字表示数组的顺序,也可以是一个数组中值得键名表示

数组的遍历

for循环来遍历
for in :遍历对象
ES5: forEach()
ES6中的箭头函数

类数组:

借助的对象字面量的语法来创建的类数组,和数组大致相同。
1.成员的键名必须是0递增的正整数
2.对象必须要有一length属性
下面是实验的过程

控制台的效果图

代码部分
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>数组遍历</title>
  5. <meta charset="utf-8">
  6. </head>
  7. <body>
  8. <!-- 1 将课程中的所有案例全部在按制台运行一遍
  9. 2 对于数组的声明,访问,遍历常用的方法全部全部熟练掌握
  10. 3 对于函数的声明,调用,参数,以及常用属性,arguments对象必须掌握
  11. 4 将数组的遍历与函数的调用与参数处理提交到博客中 -->
  12. <script type="text/javascript">
  13. var apho = ['apple','apple1','apple2','apple3'];
  14. apho.name = 'daapp';
  15. apho['user name'] = 'app';
  16. //for循环遍历
  17. for (var i = 1; i <= 1; i++) {
  18. console.log(apho[i]);
  19. }
  20. //for in: 遍历对象
  21. for (var i in apho) {
  22. console.log(apho[i]);
  23. }
  24. // foreach遍历数组
  25. apho.forEach(function(item, key, apho){
  26. // console.log(item);
  27. console.log(apho[key]);
  28. });
  29. //foreach箭头函数,遍历数组
  30. apho.forEach(item=>console.log(item));
  31. //类数组
  32. var objArr = {
  33. 0: 'hello',
  34. 1: 'wrold',
  35. 2: {1:33.5, 2:44.5},
  36. 3: 'defind',
  37. length: 4
  38. };
  39. // objArr.forEach(function (item){
  40. // console.log(item);
  41. // })
  42. for (var i = 0; i < 3; i++) {
  43. var p = document.createElement('p');
  44. p.innerHTML='hello wrold';
  45. document.body.appendChild(p);
  46. console.log(p);
  47. }
  48. var eles = document.getElementsByTagName('p');
  49. console.log(eles);
  50. for (var i = 0; i < eles.length; i++) {
  51. console.log(eles[i].innerHTML);
  52. }
  53. </script>
  54. </body>
  55. </html>

2.函数的声明,调用

函数的声明

function show1(value) { console.log(value); }

函数的调用

show1('what you name ');
构造函数:构建JS语句大厦的基础
构造函数是用来创建对象的
构造函数可以由任何函数构成,但并不是都会创建出对象,除非用new
function show() {...}

函数的重复申明

js中的函数允许重复声明,以最后一个为准
es5中变量允许重复声明

return返回

一旦遇到return 返回给调用者后面的语句全部忽略

函数也是对象, 对象就会有属性/方法

函数有name, length的属性
console.log(add.name);
console.log(add.length);

函数的方法:

toString(), 返回函数源代码console.log(add.toString());

函数作用域

全局: global: 顶层函数之外声明的,可以在函数内访问
局部: local: 函数内部声明,仅限内部访问,外部不可见
函数内部声明的变量如果不加var,就不能和当前的作用域绑定, 自动与全局绑定

下面是控制台的效果图

主要代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>函数</title>
  6. </head>
  7. <body>
  8. <script>
  9. //函数的声明
  10. function show1(value) {
  11. console.log(value);
  12. }
  13. //函数的调用
  14. show1('what you name ');
  15. // 函数表达式 / 匿名函数声明与调用,函数表达式后面没有‘;’
  16. var show2 = function display(value) {
  17. console.log(value);
  18. }
  19. show2('wo jiao da wei ');
  20. console.log(show2.name);
  21. //由于是函数表达式,所以函数未定义,无法传值,显示错误
  22. // display(" How old are You");
  23. //构造函数
  24. var sum = Function('a','b', 'return a + b');
  25. console.log(sum(11, 111));
  26. //与上面的函数意义相同
  27. // var sum = function (a, b) {return a + b;}
  28. // console.log(sum(20, 90));
  29. // 函数做为值的使用场景
  30. function add (a, b, c) {
  31. // 输出结果
  32. return a + b +c;
  33. }
  34. // 赋值,由于还有一个c没传值,结果为NAN
  35. var sum = add;
  36. console.log(sum(12, 23));
  37. // 函数当做对象属性
  38. var obj = {};
  39. obj.sum = add;
  40. console.log(obj.sum(50, 90,13));
  41. // 函数当参数: 回调
  42. function huidiao(callback, a, b,c) {
  43. return callback(a, b,c);
  44. }
  45. console.log(huidiao(add, 28, 49,123));
  46. // 函数当返回值
  47. function fun1() {
  48. return add;
  49. }
  50. console.log(fun1()(39, 27,12) );
  51. // es5: 不支持块作用域
  52. if (true) {
  53. var name = '测试1';
  54. }
  55. console.log(name);
  56. // es6: 支持块作用域,显示未定义
  57. // if (true) {
  58. // let names = '测试2';
  59. // }
  60. // console.log(names);
  61. // 函数的参数对象/参数类数组
  62. function sum(...params) {
  63. console.log(arguments);
  64. for (var i = 0; i < arguments.length; i++) {
  65. console.log(arguments[i]);
  66. }
  67. console.log(a + b);
  68. }
  69. sum(10,20,40,50);
  70. console.log(sum.length);
  71. // 闭包用来访问私有变量
  72. function demo1() {
  73. var email = '144682@qq.com';
  74. // 子函数
  75. return function hello(){
  76. console.log(email);
  77. }
  78. hello;
  79. }
  80. // console.log(email);
  81. // console.log(typeof demo1()());
  82. console.log(demo1());
  83. console.log(demo1()());
  84. </script>
  85. </body>
  86. </html>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议