gpt4 book ai didi

javascript - console.log 未在变量内呈现

转载 作者:行者123 更新时间:2023-11-28 15:23:11 25 4
gpt4 key购买 nike

我已经创建了 var 模板,但是当我在 Chrome 控制台中 console.log 时,没有任何显示。我有点困惑,因为如果我删除 console.log('template created');并将其移至在控制台中呈现的 var template = function() 上方

    var Template = function(){
// -------------------------------------------------------------------------
this.__construct = function(){
console.log('template created');
};
// -------------------------------------------------------------------------
//works in console


console.log('template created');

var Template = function(){

// -------------------------------------------------------------------------
this.__construct = function(){

};
//-------------------------------------------------------------------------
};

最佳答案

您是否期望 __construct 中的 console.log 触发?因为它不会。你正在做什么

  this.__construct  = function(){    
console.log('template created');
};

正在新对象上创建一个函数(如果您使用 Template 作为函数构造函数,即 new Template() )。你最终得到的是一个带有函数__construct的新对象。即

var Template = function(){
console.log('fires when initialized');

this.__construct = function () {
console.log('inside construct');
};
};

var template = new Template(); // 'fires when initialized'
template.__construct(); // 'inside construct'

不建议以这种方式在对象上创建函数。您通常希望将这些函数放在原型(prototype)上。我建议阅读函数构造函数以获得更深入的理解。 http://tobyho.com/2010/11/22/javascript-constructors-and/似乎是一个不错的起点。

关于javascript - console.log 未在变量内呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30378958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com