博客列表 >02月26日作业:数组遍历和函数调用

02月26日作业:数组遍历和函数调用

李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰
李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰原创
2020年02月28日 16:16:421580浏览

作业一

一、数组:
1、数组和对象区别:

  • a、数组类似php的速引数组,标识为:中括号[];访问方式:访问方式:索引方位:例如arr[0];
  • b、对象类似php的关联数组,标识为:大括号{};访问方式:键名访问和object.方法名;

2、数组的遍历(包含类数组和对象):

  • a、for()循环遍历;只能访问整数键名的数组元素(过滤非整数元素)无返回值;
  • c、for(var key in arr){}:主要用于访问对象;无返回值
  • b、arr.foreach(function(item,key,arr){}):item——为元素值,key——为键值名,arr——为数组名;此方法为原生数组遍历方法,无法访问类数组对象且无返回值;例如:arr.forEach(function(item, key, arr)
  • d、for(var key of arr){}:ES6中遍历数组的方法,可以遍历非整数键名的元素;且支持break和continue;

3、数组(索引数组)和对象(关联数组):可以在一个里面共存,但共存时,关联数组无法通过索引访问;
4、箭头函数:例如:arr.forEach(item=>console.log(item));
5、类数组:DOM

  • a.成员的键名必须是0递增的正整数
  • b.对象必须要有一length属性
  • c. 基本是借助的对象字面量的语法来创建的类数组
  • d.类数组转化成数组访问:(objarr为类数组)
    1. Array.prototype.forEach.call(objArr, function (item){
    2. console.log(item);
    3. });

二、函数
1、函数:字面量和表达式(匿名函数);可以重复声明(但覆盖前面的)
2、构造函数使用来创造对象的,可以有任何函数构成,并不是都会创造出对像,除非用new;通过Function关键字来创建构造函数
3、函数一旦遇到return返回给调用者后面的语句全部忽略;return后面没有值和没有return的函数就是undefined;
4、函数的使用场景:

  • a.作为值赋给变量
  • b.作为对象属性
  • c.作为函数参数(回调)
  • d.作为函数的返回值

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

  • a.name
  • b.length
  • d.toString()

三、作用域
1、全局: global: 顶层函数之外声明的,可以在函数内访问
2、局部: local: 函数内部声明,仅限内部访问,外部不可见
3、函数内部声明变量如果不加var,就不能和当前的作用域绑定,自动与全局绑定
4、一对大括号就是一个块作用域:ES5不支持块作用域,ES6支持
5、js中允许不写参数,函数的参数:arguments或者剩余参数(…params)
6、闭包:用来访问函数的私有变量,父级函数作用被保留,闭包占内存;

作业二

一、代码

  1. var arr=[
  2. function(){
  3. return 1;
  4. },
  5. function (name){
  6. return name+'欢迎你';
  7. }
  8. ];
  9. console.log(arr[1]('你好'));
  10. console.log(arr.length);
  11. console.log(Object.keys(arr));
  12. console.log(arr['0']);
  13. var array=[1,2,3,4,5,6];
  14. for(var i=0;i<array.length;i++){
  15. console.log(array[i]);
  16. }
  17. array.forEach(function(item,key,array){
  18. console.log(item);
  19. });
  20. var objArr = {
  21. 0: 'hello',
  22. 1: 200,
  23. 2: {x:1, y: 30},
  24. 3: null,
  25. length: 4
  26. };
  27. // 类数组转化数组输出,但无法输出length的值
  28. Array.prototype.forEach.call(objArr, function (item){
  29. console.log(item);
  30. });
  31. console.log('^^^^^^^^^^^^^^^^^^')
  32. function sum(a,b,c){
  33. // 函数体
  34. return a+b;
  35. }
  36. console.log(sum.name);
  37. console.log(sum.length);
  38. console.log(sum.toString);
  39. function add(callback,a,b){
  40. return callback(a,b);
  41. }
  42. console.log(add(sum,3,5));
  43. var n=3;
  44. function demo(){
  45. var s='你好';
  46. console.log(s);
  47. console.log(n);
  48. }
  49. // console.log(s);//函数内部的变量,玩不无法访问。
  50. console.log(n);
  51. // 输出函数中的参数
  52. function plus(){
  53. return console.log(arguments)
  54. }
  55. plus(2,3,6)
  56. //通过子函数访问夫函数中的私有变量
  57. function abc(){
  58. var name='ldy';
  59. return function ad(){
  60. return console.log(name);
  61. };
  62. }
  63. console.log(typeof abc());
  64. abc()();

2、演示结果:

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议