یک تابع جاوااسکریپت بنویسید که یک رشته را دریافت کند و یک شیء برگرداند که در آن هر کاراکتر رشته یک کلید باشد و تعداد دفعاتی که آن کاراکتر در رشته ظاهر می‌شود مقدار آن باشد.
در اینجا تابعی است که یک رشته را دریافت می‌کند و یک شیء با تعداد هر کاراکتر در رشته برمی‌گرداند:

```javascript
function countChars(str) {
  let result = {};
  for (let i = 0; i < str.length; i++){
    let char = str[i];
    if (result[char]) {
      result[char]++;
    } else {
      result[char] = 1;
    }
  }
  return result;
}
```

در اینجا مثالی از نحوه استفاده از تابع آورده شده است:

```javascript
let string = "سلام، دنیا.";
let charCount = countChars(string);
console.log(charCount); // { ' ': 1, '،': 1, '.': 1, 'س': 1, 'ل': 1, 'ا': 3, 'م': 1, 'د': 1, 'ن': 1, 'ی': 1 } را برمی‌گرداند
```

این تابع با مقداردهی اولیه یک شیء خالی کار می‌کند. سپس با استفاده از یک حلقه for از هر کاراکتر در رشته عبور می‌کند. برای هر کاراکتر، تابع بررسی می‌کند که آیا کاراکتر قبلاً یک کلید در شیء است یا خیر. اگر هست، مقدار آن کلید افزایش می‌یابد. اگر کاراکتر هنوز یک کلید در شیء نیست، کلید با مقدار 1 اضافه می‌شود. پس از اتمام حلقه for، تابع شیء حاوی تعداد هر کاراکتر در رشته را برمی‌گرداند.