Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么控制台输出未定义?_Javascript_Console.log - Fatal编程技术网

Javascript 为什么控制台输出未定义?

Javascript 为什么控制台输出未定义?,javascript,console.log,Javascript,Console.log,我有如下代码: function Person() { this.name = '123'; this.age = 123; } Person.prototype.load = function() { console.log(this.name + " test "); } var p1 = new Person(); console.log(p1.load()); 控制台输出两条新闻。一个是123 test,另一个是undefined。我想知道undefined从

我有如下代码:

function Person() {
    this.name = '123';
    this.age = 123;
}
Person.prototype.load = function() {
    console.log(this.name + " test "); 
}
var p1 = new Person();
console.log(p1.load());

控制台输出两条新闻。一个是
123 test
,另一个是
undefined
。我想知道
undefined
从哪里来?

load
函数不返回任何内容,即它返回
undefined
。您将此
未定义的
记录在此处:

console.log(p1.load());
你可能只是想

p1.load();

console.log的返回值始终未定义。它打印到控制台,但实际上它本身并不返回任何内容

var tmp = 5;
console.log(tmp); // prints 5, returns undefined.
tmp; // Returns 5         

还有,为什么要打印出一个已经打印出所需信息的函数的结果

您好,您不必为未定义的内容感到太紧张。您的代码是正确的,在任何js文件中都可以正常工作

当您创建person类的实例时,会出现未定义的情况。

给你,先生:

function Person() {
    this.name = '123';
    this.age = 123;
}
Person.prototype.load = function() {
    //Load started for John Doe 
    console.log("Load started for "+ this.name );   
    return "Load ended";
}
var p1 = new Person();
p1.name = "John Doe";
//Load ended 
console.log(p1.load());;
调用load()时,它不会返回任何值