function user(){
user.name ="Amine";
user.lastName ='Meziane';
document.write(user.name);
};
user();
当执行它写道:“用户”,而不是名称为“胺”为什么下面的Javascript代码不工作?
function user(){
user.name ="Amine";
user.lastName ='Meziane';
document.write(user.name);
};
user();
当执行它写道:“用户”,而不是名称为“胺”为什么下面的Javascript代码不工作?
window.onload = function() {
function user(){
var json = '{"name":"Amine","lastName":"Meziane"}',
obj = JSON.parse(json);
document.body.innerHTML=obj.name+' '+obj.lastName;
}
user();
};
//or
function user(){
var user = {};
user.name ="Amine";
user.lastName ='Meziane';
document.write(user.name);
};
user();
为什么要使用JSON?看起来完全是多余的;你可以使用一个对象文字。 – user2357112 2014-09-20 23:54:16
这就是要点。我不知道哪个是Json,哪个是Pure Java。图书馆让我疯狂!你能帮助我吗?谢谢 – Aminebigboss 2014-09-21 10:30:55
这是Json,我正在尝试学习纯Java。也许我写了一个反模式不行? – Aminebigboss 2014-09-21 10:50:33
user
指user
功能,附带了一个现有的,不可分配name
属性初始化函数名。 user.name ="Amine";
分配被忽略。
是的,OP可能希望'新用户()'和'this.name = ...'。 – kay 2014-09-20 23:03:11
@Kay或'function user(){var user = {}; ''。 – dfsq 2014-09-20 23:04:12
但在JavaScript课程的开始,他们说每件事都被视为对象否?所以函数和变量和类是对象?感谢您的评论。 – Aminebigboss 2014-09-21 10:33:43
由于user2357112指出,您的代码试图修改功能user
的name属性。该属性不可修改。所以它不会改变。功能user
的名称属性包含功能user
的名称,即"user"
:-)。这个名字就是你的代码打印出来的。
你可以写:
function user(){
var user = {};
user.name = "Amine";
user.lastName = "Meziane";
document.write(user.name);
};
user();
这里user
(.name
)将不参考功能user
,但局部变量(var
)user
,这是一个对象文本({}
)初始化。
也许你想写一个构造函数。然后你会添加属性到this
。
function User(name, lastname){
this.name = name;
this.lastName = lastname;
return this; //optional
};
var userAmine = new User("Amine", "Meziane"); // don't forget "new"
document.write(userAmine.name);
也许你可以通过阅读JavaScript Patterns by Stoyan Stefanov了解更多关于JavaScript的知识。
与Java相同,但她的功能不错。非常感谢你 – Aminebigboss 2014-09-21 10:48:38
当您输入问题时没有看到占位符文本。具体是“具体”。你如何问一个好问题?简单... [按照帮助指南](http://stackoverflow.com/help/how-to-ask)。 – spender 2014-09-20 23:07:00
我说它不工作我正在寻找解决方案,它不是创造辩论的东西。谢谢你的评论 – Aminebigboss 2014-09-21 10:31:56