9/30/2016 8:38:05 AM
function
目标
- 基本语法
- 用函数解决问题
为什么要有函数
- 解决冗余代码带来的不便
- 冗余代码:
- 代码看起来臃肿
- 代码维护其来不方便
什么是函数
封装一段重复代码,一次声明,可以多次使用
如何去声明一个函数
- 声明一个函数: function
- 代码格式 function fnName([参数列表]){ 函数体; }
- 一半都会把函数的声明放到一个单独的js文件中。用的时候,外链进来
- 函数通常都是用来做某一件事情的,函数名一半都是用动词 变量名通常都是用名词。
- 引入的时候,应该先引入,再调用
- 函数声明的时候不会去执行,如果想要让函数去整形,要去调用。
如何去调用一个函数
- 函数名([参数列表])
- 函数调用其实就是用的小括号
- 函数要调用,必须声明
参数
- 用程序去实现一个功能时,有值是固定不了的,这是,可以设置参数(参数起到了一个占位置的作用)
- 参数: 函数声明的时候,对于一个不确定的值,没有值,占位置的作用,形式参数
- 对于有参数的函数声明,在调用的时候,要记得传参,实参
- 形式参数(挖坑),实际参数(天坑)
代码调试
- F8 调到下一个断点,如果后面没有断点,代码执行完成了
- f10 但不执行,并且不会进入函数的内部(不会进入函数的声明里面的代码)
- f11 如果是函数调用,则进入函数体内部
- shift+f11 退出函数内部
函数的返回值
- 函数为什么会有返回值
- 因为函数都有一个处理结果,如果我们想要这个处理解雇,给函数加一个返回值
- 如何让函数有返回值
- return
- 如何接收
- 可以定义一个变量
函数的三要素
- 可以定义一个变量
- 功能: 函数是干嘛的
- 参数: 有多少只不确定的
- 返回值: 需不需要返回值,如果需要,返回什么
函数参数详解
- 形参不会影响实际参数的值。不是同一个东西
- js里面没有重载,只有覆盖,后面声明的函数会覆盖前面声明的函数
- js中的形参和实参可以不一暗影
- 实参的个数比形参的个数多,多出来的会被丢弃
- 实参的个数比形参个数少) undefiend不好,容易出错
- 推荐: 实参和形参个数相等
9/30/2016 11:46:12 AM
返回值详解
- return 后面的语句不会执行(return说明借宿了,后面的不在执行
- 无return,会在函数的最后默认家上undefiend
- return; 默认返回的是undefiend
定义函数的两种方式
- function fnName(){}
- 第二种声明函数的方式
- 函数也是一种数据类型functon
- 可以把一个函数赋值给一个变量,这个变量就成了 函数,就可以通过调用
- 匿名函数的自调用
- (function(){})()
函数中全局变量和局部变量
- (function(){})()
- 在外层定义的变量叫全局变量,在函数里面也可以访问到全局变量
- 局部变量
- 局部变量:在函数内部定义的变量
- 特点: 只能在当前函数里面访问
匿名函数
- 没有名字的函数就叫匿名函数
回调函数
- 函数也是一种数据类型。能不能把函数当成参数传递,可以
- 对于把函数当成参数进行调用,叫做回调函数
- 通过回调函数,可以把核心的代码放到回调函数里里面去,
对象
- 对象的作用
- 就是用来封装,把一个具体的对象的值放到一起
- 对象具有行为和特征
- js中的对象
- 事物的行为方法来表示
- 事物的特征用属性来表示
- js如何创建对象
- var p = new Object();//创建了一个空的对象 5.如何给一个对象添加特征,属性
- 如何给对象添加行为,叫做方法
- p.syHi = function(){}
- this:当前的
- 在方法里面,如果指的是当前对象,可以用this
- 注意:
- this要在方法里才有意义
- this值得是当前对象,这个方法谁调用this就是谁
字面量创建对象
- {}
- 键值对key:value、
- var niu={} niu.name=”niuniu”
- var niu={name:”II,age:18}
创建对象的两种方式
- 通过构造函数的方式 -var obj = new Object;obj.name = “zs”
- 通过字面量的方式
- var obj = {name:”zs”,age:18}
json
- var obj = {name:”zs”,age:18}
- json是更严格的一个js对象,js要求属性吗也要双引号扩起来
- var json = {“name”:”ZS”} 严格
访问对象的两种方式
点语法
- 对于点语法来说,直接去对象里面找对应的属性,如果有,就找到了,如果没有就undefiend
- 点语法获取和设置属性
关联数组方式
- 把对象当成数组看
- obj[“name”] 要加双引号,没加的话,就是没有定义
- 优势
- var k=”name”;console.log(obj[K]);//zs
- 找的是变量 9/30/2016 4:31:15 PM 百度:操作对象属性的两种方式