2014-09-20 69 views
0
function user(){ 
user.name ="Amine"; 
user.lastName ='Meziane'; 
document.write(user.name); 
}; 
user(); 

當執行它寫道:「用戶」,而不是名稱爲「胺」爲什麼下面的Javascript代碼不工作?

+1

當您輸入問題時沒有看到佔位符文本。具體是「具體」。你如何問一個好問題?簡單... [按照幫助指南](http://stackoverflow.com/help/how-to-ask)。 – spender 2014-09-20 23:07:00

+0

我說它不工作我正在尋找解決方案,它不是創造辯論的東西。謝謝你的評論 – Aminebigboss 2014-09-21 10:31:56

回答

-2

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();

+2

爲什麼要使用JSON?看起來完全是多餘的;你可以使用一個對象文字。 – user2357112 2014-09-20 23:54:16

+0

這就是要點。我不知道哪個是Json,哪個是Pure Java。圖書館讓我瘋狂!你能幫助我嗎?謝謝 – Aminebigboss 2014-09-21 10:30:55

+0

這是Json,我正在嘗試學習純Java。也許我寫了一個反模式不行? – Aminebigboss 2014-09-21 10:50:33

4

useruser功能,附帶了一個現有的,不可分配name屬性初始化函數名。 user.name ="Amine";分配被忽略。

+1

是的,OP可能希望'新用戶()'和'this.name = ...'。 – kay 2014-09-20 23:03:11

+1

@Kay或'function user(){var user = {}; ''。 – dfsq 2014-09-20 23:04:12

+0

但在JavaScript課程的開始,他們說每件事都被視爲對象否?所以函數和變量和類是對象?感謝您的評論。 – Aminebigboss 2014-09-21 10:33:43

1

由於user2357112指出,您的代碼試圖修改功能user的name屬性。該屬性不可修改。所以它不會改變。功能user的名稱屬性包含功能user的名稱,即"user" :-)。這個名字就是你的代碼打印出來的。

你可以寫:

function user(){ 
    var user = {}; 
    user.name = "Amine"; 
    user.lastName = "Meziane"; 
    document.write(user.name); 
}; 
user(); 

這裏user.name)將不參考功能user,但局部變量(varuser,這是一個對象文本({})初始化。

也許你想寫一個構造函數。然後你會添加屬性到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的知識。

+0

與Java相同,但她的功能不錯。非常感謝你 – Aminebigboss 2014-09-21 10:48:38