javascript apply核心化繁为简

apply是前端javascript方法默认自带的方法,这要的用法是替换掉当前执行的方法的this对象,从而实现继承,或者修改方法内部使用到this对象;

这次先说继承:

例如:

首先,在test方法里边声明两个方法,add,sub:

function test(){

this.add=function(a,b){

return a+b;

}

this.sub=function(a,b){

return a-b;

}

}

然后,我们接着定义一个方法test2:

function test2(){

test.apply(this);

}

接着,我们生成实例t2,实例化过程中test2成为t2的构造函数,此时test2方法里头的this对象是指t2的;

var t2=new test2();

那么现在,我们可以测试t2:

t2.add(2,1);

t2.sub(3,2);

结果是不是很神奇。

时间: 2024-10-10 08:58:42

javascript apply核心化繁为简的相关文章

javascript prototype核心化繁为简

prototype是前端方法默认自带的属性,主要的用处是在实例之间共享方法:例如: function test(){}; test.prototype.add=function(a,b){ return a+b; } test.prototype.sub=function(a,b){ return a-b; } var t1=new test(); var t2=new test(); t1.add(2,1); t2.add(3,2); t1.sub(2,1); t2.sub(3,2); 从上面

JavaScript(核心、BOM、DOM)

http://www.flyne.org/article/407 JavaScript(核心.BOM.DOM) JavaScript是基于对象和事件驱动的客户端脚本语言.有如下特点: 交互性 安全性(不可以直接访问本地硬盘) 跨平台性(只要是可以解析js的浏览器都可以执行,和平台无关) 1.JavaScript和Java不同! ①所属:NetScape和Sun ②基于对象和面向对象 ③JS可以直接解析执行,Java需先编译在运行 ④JavaScript是一种弱类型的语言,Java是强类型的语言.

JavaScript apply函数小案例

//回调函数1 function callback(a,b,c) { alert(a+b+c); } //回调函数2 function callback2(a,b) { alert(a+b); } //这个方法做了一些操作.然后调用回调函数 function doCallback(fn,args) { fn.apply(this, args); } function test() { //动态调用方法.并传递参数 doCallback(callback2,['a','b']); doCallba

JavaScript apply

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply The apply() method calls a function with a given this value, and arguments provided as an array (or an array-like object). Note: While the syntax of this

javascript apply,prototype,this,argument

一.apply介绍 1.apply是前端javascript方法默认自带的方法,这要的用法是替换掉当前执行的方法的this对象,从而实现继承,或者修改方法内部使用到this对象: 这次先说继承: 例如: 首先,在test方法里边声明两个方法,add,sub: function test(){ this.add=function(a,b){ return a+b; } this.sub=function(a,b){ return a-b; } } 然后,我们接着定义一个方法test2: funct

JavaScript ES6 核心功能一览

JavaScript 在过去几年里发生了很大的变化.这里介绍 12 个你马上就能用的新功能. JavaScript 历史 新的语言规范被称作 ECMAScript 6.也称为 ES6 或 ES2015+ . 自从 1995 年 JavaScript 诞生以来,它一直在缓慢地发展.每隔几年就会增加一些新内容.1997 年,ECMAScript 成为 JavaScript 语言实现的规范.它已经有了好几个版本,比如 ES3 , ES5 , ES6 等等. 如你所见,ES3,ES5 和 ES6 之间分

JavaScript面向对象核心知识归纳

面向对象 概念 面向对象就是使用对象.面向对象开发就是使用对象开发. 面向过程就是用过程的方式进行开发.面向对象是对面向过程的封装. 三大特性 抽象性所谓的抽象性就是:如果需要一个对象描述数据,需要抽取这个对象的核心数据 提出需要的核心属性和方法 不在特定的环境下无法明确对象的具体意义 封装性对象是将数据与功能组合到一起,即封装 JS对象就是键值对的集合,键值如果是数据(基本数据.符合数据.空数据)就称为属性,如果键值是函数那么就称为方法 对象就是将属性与方法封装起来 方法是将过程封装起来 继承

JavaScript面试核心考点(精华)

引言 Javascript是前端面试的重点,本文重点梳理下 Javascript 中的常考基础知识点,然后就一些容易出现的题目进行解析.限于文章的篇幅,无法将知识点讲解的面面俱到,本文只罗列了一些重难点. 一.变量类型 1.JS 的数据类型分类 根据 JavaScript 中的变量类型传递方式,分为基本数据类型和引用数据类型.其中基本数据类型包括Undefined.Null.Boolean.Number.String.Symbol (ES6新增,表示独一无二的值),而引用数据类型统称为Objec

【转】深入学习JavaScript: apply call方法 详解(转)

Js apply方法详解 原文:http://blog.csdn.net/myhahaxiao/article/details/6952321 我在一开始看到JavaScript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里我做如下笔记,希望和大家分享..  如有什么不对的或者说法不明确的地方希望读者多多提一些意见,以便共同提高.. 主要我是要解决一下几个问题: 1.        apply和cal