首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Javascript:obj.fn()vs x = obj.fn; x()

JavaScript: obj.fn() vs x = obj.fn; x()

JavaScript中的这两种写法都是用来调用一个对象的方法。

  1. JavaScript: obj.fn() 这种写法直接通过对象名和方法名的方式调用对象的方法。例如,如果有一个对象obj,其中有一个方法fn,可以使用obj.fn()来调用该方法。这种写法比较直观,易于理解和维护。
  2. x = obj.fn; x() 这种写法先将对象的方法赋值给一个变量x,然后通过调用变量x来间接调用对象的方法。例如,可以将obj.fn赋值给变量x,然后使用x()来调用该方法。这种写法在某些情况下比较灵活,可以方便地将方法传递给其他函数或进行一些特殊处理。

这两种写法在功能上是等价的,都可以成功调用对象的方法。选择使用哪种写法取决于具体的场景和需求。

推荐的腾讯云相关产品和产品介绍链接地址:

请注意,以上链接仅为腾讯云相关产品的介绍链接,不涉及其他云计算品牌商。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地方来调用这些汇编代码...那么,如何在VS中使用X64的汇编呢?本例子将演示如何在汇编文件中使用.c或者.cpp源文件中定义的函数和变量,以及如何在.c或者.cpp中使用汇编文件中定义的函数。...首先使用VS(本例子中使用的是VS2013)file=》new=》project,创建一个console项目如下:x64_asm。 ? 项目创建好了之后,默认是一个X86的开发编译环境: ?...选择上图中的x64,然后点击OK。这样,就将项目切换成了X64开发编译环境了: ? 然后,在项目中手动添加一个.asm文件,比如名称叫amd64xx.asm。 ?...接着在VS左侧的项目名称下的Source Files上右键,选择add,existing item将该文件添加到source files中。 ?

3.6K31

《你不知道的JavaScript》:this 绑定规则

《你不知道的JavaScript》第二部分this和对象原型第 2 篇。 关于this,之前说过,this的指向取决于函数调用位置而非函数定义位置。谁调用函数,则函数上下文中的this就指向谁。...看下面例子: function fn(){ console.log(this.a); // 2 } var obj = { a: 2, fn: fn } var a = 1; obj.fn...注意,这里坑就坑在var foo = obj.fn,这段代码又把fn()函数的引用赋值给了全局变量属性foo了。...} var obj = { a: 2, fn: fn } var a = 1; bar( obj.fn ); // 1 将obj.fn作为回调函数传入 bar() 函数中,其实我的理解就是把函数...fn的指针由obj.fn换成foo罢了,此时调用 bar()函数时,内部执行的其实只是单纯的fn()函数,跟普通的默认绑定没啥区别,自然this也就指向全局对象喽。

51330

x64汇编第一讲,Vs系列配置x64环境与x86环境

目录 x64汇编环境配置 一丶x64环境配置 1.1 VS系列编译器配置X64Asm开发环境....二丶Vs配置X86汇编环境. x64汇编环境配置 一丶x64环境配置 现在windows系统都是64位了,那么对应的汇编也就是说已经升级到64位了....首先我们先配置好开发环境,然后我们才能进行开发. 1.1 VS系列编译器配置X64Asm开发环境. 1.1新建一个项目.项目里面添加一个.asm后缀的文件. ?...1.7 配置高亮插件 当时配置高亮插件是在Vs2019上面,点击扩展更新. 搜索ASM会出现两个 一个是 AsmHighlighter,另个好想是 AsmHxxxx 两个安装那个都可以....二丶Vs配置X86汇编环境. 2.1.设置编译环境为win32 首先我们要选择编译为win32程序.这个自己直接在配置管理器选择即可. 2.2.设置附加依赖项.

2.8K30

《你不知道的JavaScript》:this 绑定规则的例外情况与总结

《你不知道的JavaScript》第二部分this和对象原型第 4 篇。 前篇说了this绑定的例外情况,比如当以为是应用的其他绑定规则时,其实应用的可能是默认绑定。...但偶尔也会有些问题,比如函数用到第三库的方法时,可能this会有特定的绑定对象,此时如对函数的this进行上述绑定操作,容易产生一些难以觉查的bug,所以在不是完全确定的情况下,可以采用一种更佳实践(《你不知道的javascript...函数的间接引用会出现在有意无意的函数赋值操作时发生: function fn(){ console.log(this.a); } var a = 10; var obj = {a:3, fn:fn}; var p = {a:4}; obj.fn...(); // 3 (p.fn = obj.fn)(); //10 console.log( p.fn = obj.fn ); /* 上行代码打印结果: ƒ fn(){...console.log(this.a); } */ 在上例中p.fn = obj.fn的返回值是目标函数fn的引用,因此调用位置是fn()而不是p.fn()。

47010
领券