`
cobo85
  • 浏览: 114880 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaScript系统学习问题发现与总结之函数(三)

阅读更多

     这几天有太忙了,还是简单的用代码说点问题吧。

 

function multi(x,y){
 //函数名.length 得到形参的个数  arguments得到实参的个数,arguments是函JS函数内置的对象
 try{
    if(multi.length!=arguments.length) throw new Error("参数个数不符");
 }catch(e){
     alert(e.message);
	return null;
 }
 this.x=x;
 this.y=y;
 this.value=this.x*this.y;
}
var a=new multi(3,4);
//this代表当前函数对象的引用
function test(x,y){
    this.constructor(this.x+x,this.y+y);//constructor可以得到当前函数的构造函数
}

function add(x,y){
   this.x=x;
   this.y=y;
   this.value=this.x+this.y;
}

a.t=test;//a变为了函数test的所有者,test里面的this会变成对multi函数的引用

test.call(a,1,2);//call方法提供了对当前函数对象所有者的调用,相当于a.test(1,2),还有一个类似的是apply
alert(a.value);
var b=new add(3,4);
b.b=test;//b变为了函数test的所有者,test里面的this会变成对add函数的引用
test.call(b,1,2);
 alert(b.value);

//函数的调用者示例
function called() {
    if (called.caller) {
        alert(called.caller.arguments[0]);
    } else {
        alert("top function");//没有调用的会返回null,叫顶层
    }
}
function demoCall() {
    called();
}
demoCall();
 demoCall(55);
//参数还有一个方法叫callee具体就不在写了。

 

分享到:
评论

相关推荐

    javaScript函数式编程

    本书内容全面,示例丰富,适合想要了解函数式编程的JavaScript程序员和学习JavaScript的函数式程序员阅读。 作者简介 · · · · · · Michael Fogus是Dynamic Animation Systems的软件架构师,在分布式仿真、机器...

    【JavaScript源代码】VUE入门学习之事件处理.docx

    VUE入门学习之事件处理  目录 1. 函数绑定2. 带参数和$event 3. 多个函数绑定一个事件4. 事件修饰符5. 按键修饰符 6. 系统修饰键 .exact 修饰符 鼠标按钮修饰符总结 1. 函数绑定 2. 带参数和$event 3. 多...

    JavaScript王者归来part.1 总数2

     1.7 学习和使用JavaScript的几点建议   1.8 关于本书的其余部分   第2章 浏览器中的JavaScript  2.1 嵌入网页的可执行内容   2.2 赏心悦目的特效   2.3 使用JavaScript来与用户交互  2.4 绕开脚本陷阱 ...

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料;本资料仅用于学习。 【课程内容】 第1周 开课介绍 python发展介绍 第一个python程序 变量 字符编码与二进制 字符编码的区别与介绍 用户交互程序 if ...

    python入门到高级全栈工程师培训 第3期 附课件代码

    本资料仅用于学习,请查看后24小时之内删除。 【课程内容】 第1章 01 计算机发展史 02 计算机系统 03 小结 04 数据的概念 05 进制转换 06 原码补码反码 07 物理层和数据链路层 08 网络层和arp协议 09 传输层和应用...

    前端 ES6 知识总结思维导图

    ES6 还引入了一套新的模块系统,可以使开发者更轻松地管理和组织 JavaScript 代码。 许多新的 ES6 功能已经被现代的浏览器和运行时环境所支持,但是对于一些旧版本的浏览器来说,可能需要使用转译器(例如 Babel)...

    C++ Template 基础篇(一):函数模板详解

    Template所代表的泛型编程是C++语言中的重要的组成部分,我将通过几篇blog对这半年以来的学习做一个系统的总结,本文是基础篇的第一部分。 为什么要有泛型编程 C++是一门强类型语言,所以无法做到像动态语言(python...

    asp.net知识库

    深入剖析ASP.NET组件设计]一书第三章关于ASP.NET运行原理讲述的补白 asp.net 运行机制初探(httpModule加载) 利用反射来查看对象中的私有变量 关于反射中创建类型实例的两种方法 ASP.Net应用程序的多进程模型 NET委托...

    百度java贪吃蛇源码百度-JavaScriptAdvanced8:JavaScript高级联系新版

    相关知识点做一个快速复习总结。 重新介绍 JavaScript JavaScript 是什么 解析执行:轻量级解释型的,或是 JIT 编译型的程序设计语言 语言特点:动态,头等函数 (First-class Function) 又称函数是 JavaScript 中的...

    java从入门到精通70个PPT

    12 javascript内置对象和内置函数 13 javascript的DOM编程 14-15项目案例:当当网上书店或者做一个计算器 16 Ajax 原理 17 Ajax框架 18 在线培训:JQuery 19 Jsp与动态网站初体验 20 状态管理 21 JSTL和EL 22 JSP...

    JavaScript window.setTimeout() 的详细用法

    虽然我学习和应用javascript已经两年多了,但是对setTimeout方法,有时候也要查阅资料。今天对js的setTimeout方法做一个系统地总结。 setInterval与setTimeout的区别 说道setTimeout,很容易就会想到setInterval,...

    PHP和MySQL WEB开发(第4版)

    第三篇 电子商务与安全性 第14章 运营一个电子商务网站 14.1 我们要实现什么目标 14.2 考虑电子商务网站的类型 14.2.1 使用在线说明书公布信息 14.2.2 接收产品或服务的订单 14.2.3 提供服务和数字产品 14.2.4 为...

    PHP和MySQL Web开发第4版pdf以及源码

    第三篇 电子商务与安全性 第14章 运营一个电子商务网站 14.1 我们要实现什么目标 14.2 考虑电子商务网站的类型 14.2.1 使用在线说明书公布信息 14.2.2 接收产品或服务的订单 14.2.3 提供服务和数字产品 14.2.4...

    PHP和MySQL Web开发第4版

    第三篇 电子商务与安全性 第14章 运营一个电子商务网站 14.1 我们要实现什么目标 14.2 考虑电子商务网站的类型 14.2.1 使用在线说明书公布信息 14.2.2 接收产品或服务的订单 14.2.3 提供服务和数字产品 14.2.4...

    亮剑.NET深入体验与实战精要3

    本书集实用性、思想性、趣味性于一体,内容共分为技术基础总结、系统架构设计思想及项目实战解析三部分,随书所附光盘收录大量实例代码及独家披露的商业系统,供读者参考学习。 本书适合于.NET初、中级开发人员参考...

    亮剑.NET深入体验与实战精要2

    本书集实用性、思想性、趣味性于一体,内容共分为技术基础总结、系统架构设计思想及项目实战解析三部分,随书所附光盘收录大量实例代码及独家披露的商业系统,供读者参考学习。 本书适合于.NET初、中级开发人员参考...

    WebGL编程指南压缩包

    学习和使用WebGL 很简单 5 WebGL 的起源 5 WebGL 程序的结构 6 总结 7 第2 章 WebGL 入门 9 Canvas 是什么? 10 使用[canvas] 标签 11 DrawRectangle.js 13 最短的WebGL 程序:清空绘图区 16 HTML 文件...

    WebGL编程指南

    学习和使用WebGL 很简单 5 WebGL 的起源 5 WebGL 程序的结构 6 总结 7 第2 章 WebGL 入门 9 Canvas 是什么? 10 使用[canvas] 标签 11 DrawRectangle.js 13 最短的WebGL 程序:清空绘图区 16 HTML 文件...

    webgl编程指南及源码1/2

    学习和使用WebGL 很简单 5 WebGL 的起源 5 WebGL 程序的结构 6 总结 7 第2 章 WebGL 入门 9 Canvas 是什么? 10 使用[canvas] 标签 11 DrawRectangle.js 13 最短的WebGL 程序:清空绘图区 16 HTML 文件...

Global site tag (gtag.js) - Google Analytics