01/10/2018, 09:52

JavaScript newbie

Mình mới học javascript nên tập tành làm thử và vấn đề mình gặp là việc sử dụng function trong object và kết quả nó không in ra output như mong đợi mong mọi người giúp đỡ:

Creating a JavaScript Object.

Phá Hoại viết 12:00 ngày 01/10/2018
var person = {
    firstName : "John",
    lastName  : "Doe",
    age       : 50,
    eyeColor  : "blue",
    myfunction : function()
    {
    	this.firstName = firstName;
        this.lastName = lastName;
        return lastName +firstName;
    }
};

document.getElementById("demo").innerHTML =
person.firstName + " is " + person.age + " years old."+ person.myfunction();
viết 11:54 ngày 01/10/2018

Bạn up code lên jsbin, jsfiddle, codepen để mọi người thấy code và check luôn cho bạn.
Hơn nữa, nên nêu ra kết quả input như mong đợi và kết quả input hiện tại cho dễ hình dung cái “như mong đợi” là cái gì.

Phá Hoại viết 12:00 ngày 01/10/2018

Vì mình úp nhầm nền mình cóp update phần code của mình rồi đó cậu

Dark.Hades viết 12:07 ngày 01/10/2018
this.firstName = firstName;
this.lastName = lastName;
return lastName +firstName;

Trong hàm myfunction bạn chưa khai báo firstNamelastName

Hung viết 12:02 ngày 01/10/2018

Object Literal từng fields độc lập với nhau, không có dạng 1 property có type là function lại gọi property thuộc type khác.
Bạn nên tạo 1 class cho Person, có các fields firstName, age, … và 1 computed property field fullName, cú pháp computed property dạng get fullName() { \* your logic *\ }

Note: Cú pháp trên thuộc ES6, Chrome đã hỗ trợ ES6 nên test thẳng trên Chrome, không qua Babel.

Bài liên quan
0