Function.apply()函数详解_Isabeldeng的博客-程序员宅基地

技术标签: javascript  

name = "张三";
age = 18;

function test(){
    
    document.writeln(this);
    document.writeln(this.name);
    document.writeln(this.age);     
};

// 全局函数内部的this默认为全局对象window
test(); // [object Window] 张三 18


var obj = {
    name: "李四", age: 20};
// 更改内部的this指针引用对象为obj
test.apply(obj); // [object Object] 李四 20


function foo(a, b){
    
    document.writeln(this.name);    
    document.writeln(a);    
    document.writeln(b);    
}
// 改变this引用为obj,同时传递两个参数
foo.apply(obj, [12, true]); // 李四 12 true


function bar(){
    
    var o = {
    name: "王五"};
    // 调用foo()函数,并改变其this为对象o,传入当前函数的参数对象arguments作为其参数
    foo.apply(o, arguments);    
}
bar("CodePlayer", "www.365mini.com"); // 王五 CodePlayer www.365mini.com
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Isabeldeng/article/details/109154148

智能推荐

windows下xshell配置端口转发_多啦哀梦的博客-程序员宅基地_xshell连windows端口号

windows下xshell配置端口转发打开xshell,配置远端主机的信息,这里一般指的是可以外网访问或者连接的机器打开xshell->SSH -> 隧道-> 配置转移规则为Local(Outgoing)配置源主机为本机,侦听端口为本地要访问的端口;配置远端主机的地址,这里的地址是在公网中无法访问的地址,是真正提供服务的机器,以及它的端口。配置完成后,通过xshell连接服务器后,可以使用 配置如下访问远端的服务源主机:目标端口如果本机上有curl命令,也可

对Jena的简单理解和一个例子_hfutxrg的专栏-程序员宅基地

本文简单介绍Jena(Jena 2.4),使用Protégé 3.1(不是最新版本)创建一个简单的生物(Creature)本体,然后参照Jena文档中的一个例子对本体进行简单的处理,输出本体中的Class、Property等信息。本文内容安排如下:Ø         介绍JenaØ         运行JenaØ         Jena Ontology APIØ      

20_安于本命的博客-程序员宅基地

<h1>jQuery - <span class="color_h1">获取内容和属性</span>jQuery 拥有可操作 HTML 元素和属性的强大方法。jQuery DOM 操作jQuery 中非常重要的部分,就是操作 DOM 的能力。jQuery 提供一系列与 DOM 相关的方法,这使访问和操作元素和属性变得很容易。DOM = Document Object Model(文档对象模型)DOM 定义访问 HTML 和 XML 文档的标...

linux环境高级程序设计王茹,做了5年Linux开发,三门编程语言玩的贼溜!却忽略了这项能力,太惭愧了!..._weixin_39632693的博客-程序员宅基地

原标题:做了5年Linux开发,三门编程语言玩的贼溜!却忽略了这项能力,太惭愧了!最近总是接收到一些程序员朋友的感慨,比如:大部分程序员还是老老实实敲一辈子代码吧,然后敲不动代码了就转个职;一想到架构师三个字,感觉自己特么好虚,没希望了;入职大半年了,对未来的规划确实很模糊,压根不知道要干嘛。我们部门有个项目,需求、编码、测试都是我,你说我是不是架构师?其实有这些问题的人,远不止身边的这些。不过,...

linux怎么比较两个文件大小,linux shell 如何比较两个整数的大小_WZWTWT的博客-程序员宅基地

linux shell 如何比较两个整数的大小以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!linux shell 如何比较两个整数的大小#!/bin/shmax=9min=8if [ $max -gt $min ]thenecho 1elseecho 0fi数字的比较:-eq 相等(equal)-ne 不等(not ...

java中的堆栈_xiao______xin的博客-程序员宅基地

1、堆栈概述通俗来讲,栈与堆都是Java用来在RAM中存放数据的地方。堆主要用来存放new创建的对象和数组,栈主要是存储基本类型的变量和对象的引用,与C++不同,Java自动管理栈和堆,程序员不能直接地操作栈或堆。Java 的堆是一个运行时数据区,类的对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立, 它们不

随便推点

linux 指定静态库路径,Linux链接库一(动态库,静态库,库放在什么路径下)_魏万平的博客-程序员宅基地

1库的分类根据链接时期的不同,库又有静态库和动态库之分。静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行。有别于静态库,动态库的链接是在程序执行的时候被链接的。所以,即使程序编译完,库仍须保留在系统上,以供程序运行时调用。(TODO:链接动态库时链接阶段到底做了什么)2静态库和动态库的比较链接静态库其实从某种意义上...

JTextField之限制输入条件(长度,类型)_dianqiugg的专栏-程序员宅基地

直接上例子package com.test;import javax.swing.text.AttributeSet;import javax.swing.text.PlainDocument;/** *  * @author Administrator

条件注释判断浏览器<!--[if !IE]><!--[if IE]><!--[if lt IE 6]><!--[if gte IE 6]>_dingqi1722的博客-程序员宅基地

&lt;!--[if !IE]&gt;&lt;!--&gt; 除IE外都可识别 &lt;!--&lt;![endif]--&gt;&lt;!--[if IE]&gt; 所有的IE可识别 &lt;![endif]--&gt;&lt;!--[if IE 6]&gt; 仅IE6可识别 &lt;![endif]--&gt;&lt;!--[if lt IE 6]&gt; IE6以及IE6以下版本可...

自定义彩色进度条效果_Angus博客-程序员宅基地

自定义彩色进度条效果效果如下:颜色可以随意设置View代码 1 package angus.wsj.com.circularprogressview; 2 3 import android.content.Context; 4 import android.util.AttributeSet; 5 import android.view.View;

Ubuntu下android手机通过usb连接电脑,显示"???????????? no permissions"问题_天 下-程序员宅基地

问题现象:$adb devicesList of devices attached???????????? no permissions解决方法:1、设置usb权限$lsusbBus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubBus 004 Device 001: ID 1d6b:00

java自动生成代码框架_java框架代码在线生成基础教程(在线编程)_铁帅的博客-程序员宅基地

一、访问javaweb学习网,注册登录后进行在线java框架代码生成1、首先访问网站,网站不贴了,怕知乎误认为营销,上图右下角。该网站。2、注册登录。3、点击"开始在线制作"按钮。二、进行java框架代码在线生成制作1、本页面是在线代码生成的配置页面,需要生成什么内容的代码可以在此进行配置,配置完成后就可以自动生成了。2、如上图,请尽量使用谷歌浏览器,本页面是功能性页面,js基础操作比较多,没做多...

推荐文章

热门文章

相关标签