介绍:JS函数中的代码会被函数被invoke(调用)时执行.

函数被定义时代码不执行,

函数调用时函数内的代码会被执行.

常用的term是 call a function 而不是 invoke a function.

function always belong to a object in javascript.

When a function does no tbelong to nay object. In javascript there is alaways a default global object.

在Html 中,是浏览器窗口本身. the global object will become a window function in this case.

That means it can be invoked by window.functionName().

1. this keyword : 代表当前代码的对象.

The value of this, when used in a function , is the objec that owns the function.

Note that this is not a variablke. It is a keyword. You cannot change the value of this.

2. Invoking a Function as a Method

In javascript you can defiune functions as object methods.(对象方法?),形如:

var myObject = {
    firstName:"John",
    lastName: "Doe",
    fullName: function () {
        return this.firstName + " " + this.lastName;
    }
}
myObject.fullName();         // Will return "John Doe"

3. 对于JSON对象,可以使用"."来调用对象内方法.

var myObject = {
firstName:"John",
lastName: "Doe",
fullName: function() {
return this.firstName+" "+this.lastName;
}
}

4.Invoking a Function with a Function Constructor

NOTE:

A constructor invocation creates a new object. The new object inherits the properties and methods from its constructor.

The this keyword in the constructor does not have a value.
The value of this will be the new object created when the function is invoked.

====================================Call==================================

All Functions are Methods:If a function is not a method of a JavaScript object, it is a function of the global object (see previous chapter).

1. The JavaScript call() method.

2. The call() method with Arguments.

Output:

John Doe,Oslo,Norway

=======================apply()=================

和call()方法类似.

区别是,call() 的参数是分隔开的, apply()的参数是一个数组.

person.fullName.call()变成了person.fullName.apply(person1,["Oslo","Norway"]);

====实例 Math.max(arg1,arg2,arg....)

Math.max(1,2,3);会返回3

但是JavaScript数组并没有max()方法,所以可以apply Math.max()方法.

Math.max.apply(null, [1,2,3]); // Will also return 3

第一个参数(null)无关紧要.在本例中不使用.

[JavaScript-Function] Function Invocation/Call(函数调用) 以及call() and apply() 方法的更多相关文章

  1. JavaScript学习笔记(1))——————call,apply方法

    学习前端也有一段时间了,但是效果甚微.利用时间不够充分,虽然是利用工作之余来学习.但是这不能成为我的借口. 今天学习了(其实看了很多遍)call apply方法. function abc(a,b){ ...

  2. 全面理解Javascript中Function对象的属性和方法

    http://www.cnblogs.com/liontone/p/3970420.html 函数是 JavaScript 中的基本数据类型,在函数这个对象上定义了一些属性和方法,下面我们逐一来介绍这 ...

  3. javascript 中function(){},new function(),new Function(),Function 摘录

    函数是JavaScript中很重要的一个语言元素,并且提供了一个function关键字和内置对象Function,下面是其可能的用法和它们之间的关系. function使用方式 var foo01 = ...

  4. JavaScript中Function Declaration与Function Expression 或者说 function fn(){}和var fn=function(){} 的区别

    JavaScript是一种解释型语言,函数声明会在JavaScript代码加载后.执行前被解释,而函数表达式只有在执行到这一行代码时才会被解释. 在JS中有两种定义函数的方式, 1是:var aaa= ...

  5. JavaScript中Function函数与Object对象的关系

    函数对象和其他内部对象的关系 除了函数对象,还有很多内部对象,比如:Object.Array.Date.RegExp.Math.Error.这些名称实际上表示一个 类型,可以通过new操作符返回一个对 ...

  6. JavaScript笔记 Function

    在JavaScript中方法由两部分组成: 方法名和方法体. JavaScript中的方法跟其他传统面向对象语言不同,它跟普通的变量没有区别,唯一不同点是它是Function对象,因此它会有一些Fun ...

  7. (转)深入理解javascript的function

    原文:http://www.cnblogs.com/sharpxiajun/archive/2011/09/16/2179323.html javascript笔记:深入理解javascript的fu ...

  8. javascript的Function 和其 Arguments

    http://shengren-wang.iteye.com/blog/1343256 javascript的Function属性:1.Arguments对象2.caller 对调用单前函数的Func ...

  9. JavaScript之Function函数深入总结

    整理了JavaScript中函数Function的各种,感觉函数就是一大对象啊,各种知识点都能牵扯进来,不单单是 Function 这个本身原生的引用类型的各种用法,还包含执行环境,作用域,闭包,上下 ...

随机推荐

  1. DATEADD日期函数的使用

    在当前日期加上几天:https://www.cnblogs.com/shitaotao/p/7648198.html 计算本月的第一天:https://www.cnblogs.com/lcyuhe/p ...

  2. Gradle依赖无法下载问题

    之前一直在使用maven构建框架,对gradle还比较陌生.最近碰到依赖一直无法下载的问题.我采用了以下步骤进行排查: 1. 查看gradle本地仓库是否有依赖(肯定没有) 2. 查看私服是否有依赖( ...

  3. 【数据可视化-Echarts】Echart基础

    林峰老师Echart基础课程笔记

  4. Lint found fatal errors while assembling a release target

    1.Android 打包错误信息 Generate signed Bundle or APK  打包时,报了一个错,错误信息如下: Error:Execution failed for task ´: ...

  5. Python Built-in Function 学习笔记

    Python Built-in Function 学习笔记 1. 匿名函数 1.1 什么是匿名函数 python允许使用lambda来创建一个匿名函数,匿名是因为他不需要以标准的方式来声明,比如def ...

  6. Struts2重要知识点总结

    一.interceptor拦截器的使用 第一种情况(指定action使用该拦截器):struts.xml文件的配置: <interceptors> <interceptor name ...

  7. python数据结构-如何实现用户的历史记录功能

    如何实现用户的历史记录功能 使用collections中的deque from collections import deque dq = deque([], 5) dq.append(1) dq.a ...

  8. 高并发架构系列:MQ消息队列的12点核心原理总结

    消息队列已经逐渐成为分布式应用场景.内部通信.以及秒杀等高并发业务场景的核心手段,它具有低耦合.可靠投递.广播.流量控制.最终一致性 等一系列功能. 无论是 RabbitMQ.RocketMQ.Act ...

  9. Vue滑动删除与修改

    Vu+element实现 <template> <div class=""> <div class="slider"> &l ...

  10. HDU 3078 Network(LCA dfs)

    Network [题目链接]Network [题目类型]LCA dfs &题意: 给出n个点的权值,m条边,2种操作 0 u num,将第u个点的权值改成num k u v,询问u到v这条路上 ...