JS学习笔记之函数
2017-03-17 21:51
330 查看
函数即对象,对象即对象字面量的集合(零个或多个名/值的集合体),并与对象原型有隐藏的链接
函数字面量
函数字面量本质就是函数表达式。所以它可以出现在任何地方,可以调用其他表达式也可以被其他表达式调用,可以访问自己内部的变量,也可以访问自己被嵌套的函数的变量。通过函数字面量创建的函数对象包含了连到外部上下文的链接,称为闭包。这是JS强大表现力的根基所在。
函数的调用
函数调用的四种模式:
方法调用模式
函数调用模式
构造器调用模式
apply调用模式
1)方法调用模式
当一个函数被保存为对象的一个属性时,我们称它为一个方法。当一个方法被调用时。this就绑定到这个方法。
this到对象的绑定发生在方法被调用时,这个超级迟绑定使得函数可以对this高度复用。通过this取得他们所属上下文的方法称为公共方法。
2)函数调用模式
如果直接调用,this此时绑定的是全局对象。此时可以将该方法定义成一个变量,并将它赋值为this,那么内部函数就可以访问到this,可以将那个变量命名为that。
3)构造器调用模式
这是一套和基于类的语言类似的构建对象的语法。如果在一个函数前面带上new来调用,将创建一个隐藏连接到该函数prototype成员的新对象,同时this指针会被绑定到新对象上。
4)apply调用模式
apply允许创建一个参数数组并用其去调用函数,也允许我们选择this的值,apply方法接受两个值,一个是参数数组,另一个是this。
返回
一个函数总是有返回值,如果没有制定返回值,返回undefined,如果函数以在前面加上new的方式调用,且返回值不是一个对象,则返回this
异常
三个关键函数:throw ->try ->catch
作用域
JS不支持块级作用域,但是有函数作用域,定义在函数中的参数和变量对外部是不可见的,在函数的任何位置定义的变量在函数内的任何位置可见
闭包
函数可以访问它被创建时所处的上下文环境。
级联
通过修改对象的某个状态,使其返回值为this,从而每一次都能返回该对象,返回的结果还可以被下一次调用
函数字面量
函数字面量本质就是函数表达式。所以它可以出现在任何地方,可以调用其他表达式也可以被其他表达式调用,可以访问自己内部的变量,也可以访问自己被嵌套的函数的变量。通过函数字面量创建的函数对象包含了连到外部上下文的链接,称为闭包。这是JS强大表现力的根基所在。
函数的调用
函数调用的四种模式:
方法调用模式
函数调用模式
构造器调用模式
apply调用模式
1)方法调用模式
当一个函数被保存为对象的一个属性时,我们称它为一个方法。当一个方法被调用时。this就绑定到这个方法。
this到对象的绑定发生在方法被调用时,这个超级迟绑定使得函数可以对this高度复用。通过this取得他们所属上下文的方法称为公共方法。
2)函数调用模式
如果直接调用,this此时绑定的是全局对象。此时可以将该方法定义成一个变量,并将它赋值为this,那么内部函数就可以访问到this,可以将那个变量命名为that。
3)构造器调用模式
这是一套和基于类的语言类似的构建对象的语法。如果在一个函数前面带上new来调用,将创建一个隐藏连接到该函数prototype成员的新对象,同时this指针会被绑定到新对象上。
4)apply调用模式
apply允许创建一个参数数组并用其去调用函数,也允许我们选择this的值,apply方法接受两个值,一个是参数数组,另一个是this。
返回
一个函数总是有返回值,如果没有制定返回值,返回undefined,如果函数以在前面加上new的方式调用,且返回值不是一个对象,则返回this
异常
三个关键函数:throw ->try ->catch
作用域
JS不支持块级作用域,但是有函数作用域,定义在函数中的参数和变量对外部是不可见的,在函数的任何位置定义的变量在函数内的任何位置可见
闭包
函数可以访问它被创建时所处的上下文环境。
级联
通过修改对象的某个状态,使其返回值为this,从而每一次都能返回该对象,返回的结果还可以被下一次调用
相关文章推荐
- JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
- JS学习笔记——正则表达式在replace()函数中的小技巧
- JavaScript学习笔记之JS函数
- JavaScript高级程序设计(第2版) 学习笔记:(一)js函数依赖性
- js笔记之函数的arguments对象的学习
- JavaScript高级程序设计(第3版)学习笔记8 js函数(中)
- js学习笔记(六)函数
- JavaScript学习笔记之JS函数
- Node.js学习笔记(3)——关于回调函数和函数的回调
- JS学习笔记(五):关于$(function(){});里面的函数不执行问题
- JavaScript高级程序设计(第3版)学习笔记8 js函数(中)
- Ferris这个教程学习笔记:js示例2.2:函数接收参数并弹出
- 【js学习笔记-046】-- 函数
- js学习笔记-函数表达式
- javascript学习笔记(七) js函数介绍
- 韩顺平_轻松搞定网页设计(html+css+javascript)_第26讲_js函数调用过程内存分析_js函数细节_学习笔记_源代码图解_PPT文档整理
- 【js学习笔记-049】---函数的属性、方法和构造函数
- js学习笔记之函数
- js面向对象学习笔记之七(函数 与 基础控制结构)
- JS学习笔记3_函数表达式