它不在控制台内以面向对象 JavaScript 显示 "this" 个对象
It does not show "this" objects in object oriented JavaScript inside Console
我正在学习面向对象 JavaScript 教程,但在控制台日志 "userOne.login" 时遇到问题,希望看到 "ryu@ninjas.com has logged in" 但最终看到
"ƒ login(){console.log(this.email, 'has logged in');
}"
"this" 好像没有收到邮件。我想知道为什么我会收到这条消息。谢谢。
var userOne = {
email:'ryu@ninjas.com',
name:'Ryu',
login(){
console.log(this.email, 'has logged in');
},
logout(){
console.log(this.email, 'has logged out');
}
};
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Object Oriented JavaScript</title>
</head>
<body>
<h1>Object Oriented JavaScript</h1>
</body>
</html>
这是一个相当快速的修复方法,只需将 ()
添加到函数调用的末尾即可。例如 login()
。 login
引用函数的定义,它实际上是一个链接到原型 Function
的对象。 运行 函数作为功能体的方法是用括号调用它。
var userOne = {
email:'ryu@ninjas.com',
name:'Ryu',
login: function(){
console.log(this.email, 'has logged in');
},
logout: function(){
console.log(this.email, 'has logged out');
}
};
你的语法有点不对;您需要在对象中为函数指定一个键,例如 login: function()
和 logout: function()
。然后你可以用 userOne.login()
和 userOne.logout()
:
调用这些函数
var userOne = {
email: 'ryu@ninjas.com',
name: 'Ryu',
login: function() {
console.log(this.email, 'has logged in');
},
logout: function() {
console.log(this.email, 'has logged out');
}
};
userOne.login();
userOne.logout();
<h1>Object Oriented JavaScript</h1>
请注意,将函数存储在其对应的对象中是首选方法,因为这些函数包含在对象的范围内,不会污染全局范围;你不能简单地调用 login()
.
我正在学习面向对象 JavaScript 教程,但在控制台日志 "userOne.login" 时遇到问题,希望看到 "ryu@ninjas.com has logged in" 但最终看到
"ƒ login(){console.log(this.email, 'has logged in'); }"
"this" 好像没有收到邮件。我想知道为什么我会收到这条消息。谢谢。
var userOne = {
email:'ryu@ninjas.com',
name:'Ryu',
login(){
console.log(this.email, 'has logged in');
},
logout(){
console.log(this.email, 'has logged out');
}
};
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Object Oriented JavaScript</title>
</head>
<body>
<h1>Object Oriented JavaScript</h1>
</body>
</html>
这是一个相当快速的修复方法,只需将 ()
添加到函数调用的末尾即可。例如 login()
。 login
引用函数的定义,它实际上是一个链接到原型 Function
的对象。 运行 函数作为功能体的方法是用括号调用它。
var userOne = {
email:'ryu@ninjas.com',
name:'Ryu',
login: function(){
console.log(this.email, 'has logged in');
},
logout: function(){
console.log(this.email, 'has logged out');
}
};
你的语法有点不对;您需要在对象中为函数指定一个键,例如 login: function()
和 logout: function()
。然后你可以用 userOne.login()
和 userOne.logout()
:
var userOne = {
email: 'ryu@ninjas.com',
name: 'Ryu',
login: function() {
console.log(this.email, 'has logged in');
},
logout: function() {
console.log(this.email, 'has logged out');
}
};
userOne.login();
userOne.logout();
<h1>Object Oriented JavaScript</h1>
请注意,将函数存储在其对应的对象中是首选方法,因为这些函数包含在对象的范围内,不会污染全局范围;你不能简单地调用 login()
.