javascript apply--(2)

apply有一个重要的特性就是改变当前执行的方法的this对象;

例如:

<input type=‘file‘ id=‘test‘/>

首先我们定义一个检测文件后缀名的方法,此时的this对象是指向window,我们看下边的两个测试例子:

function checkFileType(){

var _value=this.value;

var pattern=/\.[a-zA-Z]$/;

var result=pattern.exec(_value);

if(result!=null)

console.log(result);

else

console.log(‘not find‘);

}

那么现在我们就使用apply:

$("#test").click(function(){

checkFileType();

});

$("#test").click(function(){

checkFileType.apply(this);

});

此时我们会发现,第一个打出的是not find,第二个正确的打印出了附件后缀名。

到此就介绍完了apply两个核心用法,继承与改变当前执行方法的this对象。

时间: 2024-12-12 02:02:27

javascript apply--(2)的相关文章

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 call方法 详解(转)

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

深入学习JavaScript: apply 方法 详解(转)——非常好

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

JavaScript: apply , call 方法

我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里我做如下笔记,希望和大家分享..  如有什么不对的或者说法不明确的地方希望读者多多提一些意见,以便共同提高.. 主要我是要解决一下几个问题: 1.        apply和call的区别在哪里 2.        什么情况下用apply,什么情况下用call 3.        apply的其他巧妙用法(一般在什么情况下

Javascript apply()和call()方法

Javascript内置对象 首先,我从网上查找了apply()和call()的定义.然后用例子解释这两个方法的意思和用法. apply():方法能劫持另一个对象的方法,继承另一个对象的属性. Function.apply(obj,args):方法能接收两个参数 obj:这个对象将代替Function类里this对象 args:这个是数组,它将作为参数传给Function(args-->arguments) 代码示例: <script type="text/javascript&qu

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: apply 方法 详解

我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里我做如下笔记,希望和大家分享..  如有什么不对的或者说法不明确的地方希望读者多多提一些意见,以便共同提高.. 主要我是要解决一下几个问题: 1.        apply和call的区别在哪里 2.        什么情况下用apply,什么情况下用call 3.        apply的其他巧妙用法(一般在什么情况下

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(){

[每天解决一问题系列 - 0001] Javascript apply和 call对比

相同点: 每个函数都包含这两个原生的方法 他们两个的效果是一样的,用于在特定的作用域下执行函数,本质上是设置函数内this对象的值. 不同点: 传入的参数类型不同 . apply(函数作用域,array[参数]), call(函数作用域,参数1, 参数2, 参数3...). 注意:函数作用域 参数不传或者null,默认为window:在严格模式下则为undefined, 即无效的作用域. 应用场景: 这两个函数最大的作用在于扩充函数赖以运行的作用域,其好处在于对象不需要与方法有任何的耦合关系,用