Blogger Information
Blog 145
fans 7
comment 7
visits 164508
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
02月26日作业:数组遍历和函数调用
李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰
Original
1581 people have browsed it

作业一

一、数组:
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、演示结果:

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:es5中的许多语法与php是类似的, 掌握之后有利于es6的学习
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post