این ترجمه ناقص است. لطفاً در ترجمه این مقاله از انگلیسی کمک کنید.

پیام

خطای نوع:‌  "x" یک تابع نیست

نوع خطا

TypeError.

چه مشکلی پیش امده ؟

این در تلاش صدا زدن بک مقدار از یک تابع بود، اما این مقدار در واقع تابع نیست.  قسمتی از کد، از شما انتظار دادن تابع را دارد که این رخ نداده است.

شاید یک غلط املایی در نام تابع وجود دارد؟شاید شی ای که تابع را از ان فراخوانی میکنید، این تابع را ندارد؟  برای مثال در شی گرایی جاوا اسکریپت،تابع   map  وجود ندارد اما شی گرایی ارایه ای جاوا اسکریپت دارد.

There are many built-in functions in need of a (callback) function. You will have to provide a function in order to have these methods working properly:

Examples

A typo in the function name

In this case, which happens way too often, there is a typo in the method name:

var x = document.getElementByID('foo');
// TypeError: document.getElementByID is not a function

The correct function name is getElementById:

var x = document.getElementById('foo');

Function called on the wrong object

For certain methods, you have to provide a (callback) function and it will work on specific objects only. In this example, Array.prototype.map() is used, which will work with Array objects only.

var obj = {a: 13, b: 37, c: 42};

obj.map(function(num) {
  return num * 2;
});

// TypeError: obj.map is not a function

Use an array instead:

var numbers = [1, 4, 9];

numbers.map(function(num) { 
  return num * 2; 
}); 

// Array [2, 8, 18]

Function shares a name with a pre-existing property

Sometimes when making a class, you may have a property and a function with the same name. Upon calling the function, the compiler thinks that the function ceases to exist.

var Dog = function () {
 this.age = 11;
 this.color = "black";
 this.name = "Ralph";
 return this;
} 

Dog.prototype.name = function(name) {
 this.name = name;
 return this;
}


var myNewDog = new Dog();
myNewDog.name("Cassidy"); //Uncaught TypeError: myNewDog.name is not a function

Use a different property name instead:

var Dog = function () {
 this.age = 11;
 this.color = "black";
 this.dogName = "Ralph"; //Using this.dogName instead of .name
 return this;
} 

Dog.prototype.name = function(name) {
 this.dogName = name;
 return this;
}


var myNewDog = new Dog();
myNewDog.name("Cassidy"); //Dog { age: 11, color: 'black', dogName: 'Cassidy' }

See also

Document Tags and Contributors

Contributors to this page: omid23
Last updated by: omid23,