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

为什么这样"this.foo = new(function(){..})();" 与"this.foo = function(){...};"

"this.foo = new(function(){..})();" 与 "this.foo = function(){...};" 是两种不同的语法形式,分别表示不同的操作。

  1. "this.foo = new(function(){..})();" 表示将一个匿名函数作为构造函数进行实例化,并将实例赋值给 this.foo。这种写法通常用于创建一个对象的实例,并且可以在构造函数中定义对象的属性和方法。这种写法适用于需要创建多个相似对象的场景,每个对象都有自己的属性和方法。

示例代码:

代码语言:javascript
复制
this.foo = new(function(){
  this.name = 'John';
  this.age = 25;
  this.sayHello = function(){
    console.log('Hello, my name is ' + this.name);
  };
})();

在上述示例中,this.foo 是一个对象实例,具有 name、age 和 sayHello 属性和方法。可以通过 this.foo.name、this.foo.age 和 this.foo.sayHello() 来访问和调用。

推荐的腾讯云相关产品:无

  1. "this.foo = function(){...};" 表示将一个函数赋值给 this.foo。这种写法通常用于定义一个函数,并将函数赋值给一个变量或对象的属性。这种写法适用于需要定义一个可重复使用的函数的场景。

示例代码:

代码语言:javascript
复制
this.foo = function(){
  console.log('Hello, world!');
};

在上述示例中,this.foo 是一个函数,可以通过 this.foo() 来调用。

推荐的腾讯云相关产品:无

总结:这两种语法形式分别适用于不同的场景,前者用于创建对象实例,后者用于定义可重复使用的函数。具体使用哪种形式取决于具体的需求和设计。

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

相关·内容

  • ES5和ES6函数你不知道的区别【面试篇】 前言1. PolyFill2.性能上3 hooks和 class 的性能4.用法上5.总结

    3.传统上,React中的内联函数有关的性能问题如何在每个渲染器上传递新的回调破坏shouldComponentUpdate子组件的优化有关。Hooks从三个方面解决了这个问题。...该useCallback 的 hooks可以让你保持相同的回调引用之间重新呈现,这样shouldComponentUpdate继续工作: // Will not change unless `a` or...bar = Bar(); // 正常执行,也可以同 new 调用 class Foo { constructor() { this.foo = 42; } } const foo =...= 42; } static answer() { return 42; } print() { console.log(this.foo); } } const...B{} class A extends C{} 2.这样写还是比较 low,我们回顾下,Vue 和 React 的 mixin 方法,用来将多个Class的功能复制到一个新的Class上; 我们可以简单来实现一个

    1.9K20

    前端必备,25个最基本的JavaScript面试问题及答案

    var myObject = { foo: "bar", func: function() { var self = this; console.log("outer func: this.foo =..." + this.foo); console.log("outer func: self.foo = " + self.foo); (function() { console.log("inner...当试图删除一个不可配置的属性时,非严格代码将默默地失败,而严格模式将在这样的情况下抛出异常。 6.考虑以下两个函数。它们会返回相同的东西吗? 为什么相同或为什么不相同?...原因这样一个事实有关,即分号在JavaScript中是一个可选项(尽管省略它们通常是非常糟糕的形式)。...( &&)运算符。在形如 X&&Y的表达式中,首先计算 X并将其解释执行为一个布尔值。如果这个布尔值为 false,那么返回 false(0),不再计算 Y,因为“”的条件已经失败。

    93030
    领券