zhuhuiwen Front-end Dev Engineer

js基础第三天function和object

2016-09-30

9/30/2016 8:38:05 AM

function

目标

  1. 基本语法
  2. 用函数解决问题

为什么要有函数

  1. 解决冗余代码带来的不便
  2. 冗余代码:
    • 代码看起来臃肿
    • 代码维护其来不方便

什么是函数

封装一段重复代码,一次声明,可以多次使用

如何去声明一个函数

  1. 声明一个函数: function
  2. 代码格式 function fnName([参数列表]){ 函数体; }
  3. 一半都会把函数的声明放到一个单独的js文件中。用的时候,外链进来
  4. 函数通常都是用来做某一件事情的,函数名一半都是用动词 变量名通常都是用名词。
  5. 引入的时候,应该先引入,再调用
  6. 函数声明的时候不会去执行,如果想要让函数去整形,要去调用。

    如何去调用一个函数

  7. 函数名([参数列表])
  8. 函数调用其实就是用的小括号
  9. 函数要调用,必须声明

    参数

  10. 用程序去实现一个功能时,有值是固定不了的,这是,可以设置参数(参数起到了一个占位置的作用)
  11. 参数: 函数声明的时候,对于一个不确定的值,没有值,占位置的作用,形式参数
  12. 对于有参数的函数声明,在调用的时候,要记得传参,实参
  13. 形式参数(挖坑),实际参数(天坑)

    代码调试

  14. F8 调到下一个断点,如果后面没有断点,代码执行完成了
  15. f10 但不执行,并且不会进入函数的内部(不会进入函数的声明里面的代码)
  16. f11 如果是函数调用,则进入函数体内部
  17. shift+f11 退出函数内部

    函数的返回值

  18. 函数为什么会有返回值
    • 因为函数都有一个处理结果,如果我们想要这个处理解雇,给函数加一个返回值
  19. 如何让函数有返回值
    • return
  20. 如何接收
    • 可以定义一个变量

      函数的三要素

  21. 功能: 函数是干嘛的
  22. 参数: 有多少只不确定的
  23. 返回值: 需不需要返回值,如果需要,返回什么

    函数参数详解

  24. 形参不会影响实际参数的值。不是同一个东西
  25. js里面没有重载,只有覆盖,后面声明的函数会覆盖前面声明的函数
  26. js中的形参和实参可以不一暗影
    • 实参的个数比形参的个数多,多出来的会被丢弃
    • 实参的个数比形参个数少) undefiend不好,容易出错
    • 推荐: 实参和形参个数相等 9/30/2016 11:46:12 AM

      返回值详解

  27. return 后面的语句不会执行(return说明借宿了,后面的不在执行
  28. 无return,会在函数的最后默认家上undefiend
  29. return; 默认返回的是undefiend

    定义函数的两种方式

  30. function fnName(){}
  31. 第二种声明函数的方式
    • 函数也是一种数据类型functon
    • 可以把一个函数赋值给一个变量,这个变量就成了 函数,就可以通过调用
  32. 匿名函数的自调用
    • (function(){})()

      函数中全局变量和局部变量

  33. 在外层定义的变量叫全局变量,在函数里面也可以访问到全局变量
  34. 局部变量
    • 局部变量:在函数内部定义的变量
    • 特点: 只能在当前函数里面访问

      匿名函数

  35. 没有名字的函数就叫匿名函数

    回调函数

  36. 函数也是一种数据类型。能不能把函数当成参数传递,可以
  37. 对于把函数当成参数进行调用,叫做回调函数
  38. 通过回调函数,可以把核心的代码放到回调函数里里面去,

    对象

  39. 对象的作用
    • 就是用来封装,把一个具体的对象的值放到一起
  40. 对象具有行为和特征
  41. js中的对象
    • 事物的行为方法来表示
    • 事物的特征用属性来表示
  42. js如何创建对象
    • var p = new Object();//创建了一个空的对象 5.如何给一个对象添加特征,属性
  43. 如何给对象添加行为,叫做方法
    • p.syHi = function(){}
  44. this:当前的
    • 在方法里面,如果指的是当前对象,可以用this
    • 注意:
      • this要在方法里才有意义
      • this值得是当前对象,这个方法谁调用this就是谁

        字面量创建对象

  45. {}
  46. 键值对key:value、
  47. var niu={} niu.name=”niuniu”
  48. var niu={name:”II,age:18}

    创建对象的两种方式

  49. 通过构造函数的方式 -var obj = new Object;obj.name = “zs”
  50. 通过字面量的方式
    • var obj = {name:”zs”,age:18}

      json

  51. json是更严格的一个js对象,js要求属性吗也要双引号扩起来
  52. var json = {“name”:”ZS”} 严格

    访问对象的两种方式

    点语法

  53. 对于点语法来说,直接去对象里面找对应的属性,如果有,就找到了,如果没有就undefiend
  54. 点语法获取和设置属性

    关联数组方式

  55. 把对象当成数组看
  56. obj[“name”] 要加双引号,没加的话,就是没有定义
  57. 优势
    • var k=”name”;console.log(obj[K]);//zs
  58. 找的是变量 9/30/2016 4:31:15 PM 百度:操作对象属性的两种方式

Similar Posts

上一篇 js基础第二天

Comments