首页
学习
活动
专区
圈层
工具
发布

JavaScript 的 this 小结纯粹的函数调用作为对象方法的调用作为构造函数调用apply 调用

它是函数运行时,在函数体内部自动生成的一个对象,只能在函数体内部使用。 ? 上面代码中,函数test运行时,内部会自动有一个this对象可以使用。 那么,this的值是什么呢?...函数的不同使用场合,this有不同的值。 总的来说,this就是函数运行时所在的环境对象。 下面分情况,详细讨论 纯粹的函数调用 函数的最通常用法,属全局性调用,this即代表全局对象。 ?...运行结果是1 作为对象方法的调用 函数还可以作为某个对象的方法调用,这时this就指这个上级对象 ? 结果:1 作为构造函数调用 通过这个函数,可以生成一个新对象。this就指这个新对象。 ?...运行结果为1 为了表明这时this不是全局对象,我们对代码做一些改变: ? 运行结果为2,表明全局变量x的值根本没变。 apply 调用 apply()是函数的一个方法,作用是改变函数的调用对象。...它的第一个参数就表示改变后的调用这个函数的对象。因此,这时this指的就是这第一个参数。 ? apply()的参数为空时,默认调用全局对象。因此,这时的运行结果为0,证明this指的是全局对象。

4.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    对象,get 到了吗?

    对象,通常有两层意思,指行动或思考时作为目标的事物或特指恋爱的对方。在编程的世界里,对象就是客观世界中存在的人、事、物体等实体在计算机逻辑中的映射。...对象:集合中一个具体的事物,是由类生成的,也叫 object,或者实体,比如女人是一个类,而你的女朋友就是一个对象。 属性:对象的某个静态特征,比如你女朋友的肤色,民族,血型等。...函数:对象的某个动态能力,比如你女朋友会唱歌、弹琴等。...虽然举的例子不太恰当,但希望能加深你的理解,你可以深度将自己的对类的理解写下来,看看能否真正的理解它,其实更为确切的定义如下: 类是一群有着相同属性和函数的对象的集合。...3、如何定义类函数、成员函数、静态函数,他们的作用分别是什么? 4、类可以被继承,如何让子类必须重写父类的函数才能使用,否则抛出异常?

    44940

    如何将一个 .NET 对象序列化为 HTTP GET 的请求字符串

    如果是 POST 请求时,我们可以使用一些库序列化为 json 格式作为 BODY 发送,那么 GET 请求呢?有可以直接将其序列化为 HTTP GET 请求的 query 字符串的吗?...---- HTTP GET 请求 一个典型的 HTTP GET 请求带参数的话大概是这样的: 1 https://s.blog.walterlv.com/api/example?...Key2 { get; set; } [DataMember(Name = "key3")] public string? Key3 { get; set; } } 库?...关于源代码包不引入额外依赖 dll 的原理,可以参见: .NET 将多个程序集合并成单一程序集的 4+3 种方法 - walterlv 方法 我们需要做的是,将一个对象序列化为 query 字符串。...假设这个对象的局部变量名称是 query,于是我们需要: 取得此对象所有可获取值的属性 query.GetType().GetProperties() 获取此属性值的方法 property.GetValue

    1.4K20

    C++引用作函数参数 | 传送变量的别名

    C++引用作函数参数 C++之所以增加引用类型,主要是把它作为函数参数,以扩充函数传递数据的功能。  小林在之前的推文中介绍过函数参数传递的两种情况。...如果在执行函数期间形 参的值发生变化,并不传回给实参。因为在调用函 数时,形参和实参不是同一个存储单元。  传递变量的指针,形参是指针变量,实参是一个变量的地址,调用函数时,形参指向 实参变量单元。...C++的这种虚实结合的方法仍然是值传递方式,只是实参的值是变量的地址而已,C++提供了向函数传递数据的第3种方法:传送变量的别名。 经典案例:C++实现传送变量的别名。... &num2);//函数声明    int i,j;//定义整型变量    i=4;//赋初值    j=7;//赋初值    swap_Number(i,j);//调用swap函数    cout<<...以上,如果你看了觉得对你有所帮助,就给小林点个赞叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~ C++引用作函数参数 | 传送变量的别名 更多案例可以go公众号:C语言入门到精通

    2.1K88

    C++ 引用与引用作为函数的参数

    (有一个例外,引用作为函数参数时,不需要初始化) (2)在声明一个引用后,不能再使之作为另一变量的引用。 (3)不能建立引用数组。...不会只是为了给函数起一个小名吧?显然不是,引用最用要的意义在于作为函数的参数,以扩充函数传递参数的能力。它是如何实现的?...如果在执行函数器件形参的值变了,不会回传给实参。也就是说如果想要实现一个这样的功能:调用函数后实参的值随之改变。显然此方式无法实现。...,在第6行,调用的函数是传入的函数实参是变量的地址,实现了i和j的交换,但是这种方法不够直观,而且依旧是“值传递”的方式,只不过传递的是变量的地址而已。...然后,如果我们使用引用功能,可以很简单的实现这个功能,而且很容易理解: (3)引用作为函数参数 #include using namespace std; int main()

    3.2K40

    python函数——字典get()方法

    get()描述 Python 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值。...Python 字典中 setdefault() 可以实现字典默认值的操作,相关博文如下 python函数——字典设置默认值 setdefault() python函数——字典设置get() 与 setdefault...()区别 get()用法 dict_name.get(key, default = None) # key: 要设置默认值的Key # default: 要返回key的值,可以是任何值,如整形、字符串、...注意:get()只是做了取值操作,没有给字典赋值,详细见下例: get()示例 >>> dict_name = {} >>> dict_name.get("name") >>> dict_name {}...# 设置“name”get出“wangcongying”, 但是打印 dict_name 的时候,字典中没有任何值 >>> dict_name.get("name", "wangcongying")

    1.7K10

    函数对象

    概念: 重载调用函数操作符的类,其对象称为函数对象 函数对象使用重载()时,行为类似函数调用,也叫仿函数 函数对象本质是一个类,不是一个函数 函数对象使用: features: 1.函数对象在调用时...,可以像普通函数一样调用,可以有参数,可以有返回值 #include using namespace std; #include //函数对象 //1.函数对象在调用时...,函数对象可以有自己的概念 #include using namespace std; #include //函数对象 //2.函数对象超出普通函数的概念,函数对象可以有自己的概念..."); A("函数对象"); A("函数对象"); cout << A.count << endl; } int main() { test(); system("pause"); return...0; } 3.函数对象可以作为参数传递 #include using namespace std; #include //函数对象 //3.函数对象可以作为参数传递

    46910
    领券