stanford-oval/wikipedia huggingface dataset:
JavaScript
Các thành phần cú pháp chính > Toán tử > Toán tử quan hệ

Toán tử quan hệ là các toán tử dùng để so sánh giữa hai toán hạng. Sau khi thực hiện một so sánh, chúng trả lại một giá trị true (đúng) hay false (sai). Các toán tử bao gồm: == (bằng nhau), != (khác nhau), === (bằng nhau và cùng loại), !== (khác nhau và khác loại), > (lớn hơn), < (nhỏ hơn), >= (lớn hơn hoặc bằng), <= (nhỏ hơn hoặc bằng).
Ví dụ:
var result;
result = 3 == "3"; // result = true
result = 3 != 3; // result = false
result = 3 === "3"; // result = false
result = 3 !== "3"; // result = true
result = 3 > 4; // result = false
result = 3 < 4; // result = true
result = 3 >= 3; // result = true
result = 3 <= 4; // result = true
Các thành phần cú pháp chính > Toán tử > Toán tử luận lý

Các toán tử luận lý là các toán tử nhị phân thực hiện các phép toán logic trên hai toán hạng. Chúng thuộc loại toán tử quan hệ, vì chúng trả về một giá trị boolean. Các toán tử bao gồm: && (và), || (hoặc), ! (phủ định).
Ví dụ:
var x = 2, y = 5;
var result;
result = (x == 3) && (y == 5); // result = false
result = (x == 3) || (y == 5); // result = true
result = !(x == 3); // result = true
Các thành phần cú pháp chính > Toán tử > Toán tử đặc biệt

Toán tử điều kiện còn được biết đến với tên gọi toán tử 3 ngôi. Cú pháp của toán tử này như sau:
điều_kiện ? biểu_thức_đúng : biểu_thức_sai;
Toán tử này sẽ trả lại giá trị là kết quả của biểu_thức_đúng nếu điều_kiện có giá trị boolean bằng true, ngược lại nó sẽ trả lại giá trị bằng biểu_thức_sai.
Các thành phần cú pháp chính > Câu lệnh điều khiển > Câu lệnh if... else

Cú pháp if... else dùng trong trường hợp muốn rẽ nhánh theo điều kiện. Cú pháp này tương đương với nếu x thì làm y, còn nếu không thì làm z. Các câu lệnh if... else có thể lồng trong nhau.
Cú pháp:
if (biểu_thức_1) {
    khối lệnh được thực hiện nếu biểu thức 1 đúng;
}
else if (biểu_thức_2) {
    khối lệnh được thực hiện nếu biểu thức 1 sai và biểu thức 2 đúng;
}
else {
    khối lệnh được thực hiện nếu cả hai biểu thức trên đều sai;
}
Ví dụ:
var x = prompt("Nhập vào giá trị của x:");
x = parseFloat(x);

if (!isNaN(x)) {
    if (x > 0) {
        alert("x > 0");
    }
    else if (x == 0) {
        alert("x = 0");
    }
    else {
        alert("x < 0");
    }
}
else {
    alert("giá trị bạn nhập không phải là một số");
}
Đoạn mã nguồn trên mở một hộp thoại yêu cầu nhập vào một giá trị số, sau đó hiển thị thông báo số đó lớn hơn 0, bằng 0 hay nhỏ hơn 0.
Các thành phần cú pháp chính > Câu lệnh điều khiển > Câu lệnh switch... case

Cú pháp switch cũng là cú pháp điều kiện như if... else hay toán tử tam phân. Tuy nhiên, cú pháp switch thường được dùng khi chỉ cần so sánh bằng với số lượng kết quả cần kiểm tra lớn. Cách sử dụng cú pháp switch:
switch (biểu_thức_điều_kiện) {
    case kết_quả_1:
        khối lệnh cần thực hiện nếu biểu_thức_điều_kiện bằng kết_quả_1;
        break;
    case kết_quả_2:
        khối lệnh cần thực hiện nếu biểu_thức_điều_kiện bằng kết_quả_2;
        break;
    default:
        khối lệnh cần thực hiện nếu biểu_thức_điều_kiện cho ra một kết quả khác;
        break;
}
Sau mỗi khối lệnh trong một mục kiểm tra kết quả (trừ mục default), lập trình viên cần phải thêm vào break.
Các thành phần cú pháp chính > Vòng lặp > Vòng lặp while

Vòng lặp while có mục đích lặp đi lặp lại một khối lệnh nhất định cho đến khi biểu thức điều kiện trả về false. Khi dùng vòng lặp while phải chú ý tạo lối thoát cho vòng lặp (làm cho biểu thức điều kiện có giá trị false), nếu không đoạn mã nguồn sẽ rơi vào vòng lặp vô hạn, là một lỗi lập trình. Vòng lặp while thường được dùng khi lập trình viên không biết chính xác cần lặp bao nhiêu lần. Cú pháp của vòng lặp while như sau:
while (biểu_thức_điều_kiện) {
    khối lệnh cần thực hiện nếu biểu_thức_điều_kiện trả về true;
}
Các thành phần cú pháp chính > Vòng lặp > Vòng lặp do... while

Về cơ bản, vòng lặp do... while gần như giống hệt như vòng lặp while. Tuy nhiên, trong trường hợp biểu thức điều kiện trả về false ngay từ đầu, khối lệnh trong vòng lặp while sẽ không bao giờ được thực hiện, trong khi đó, vòng lặp do... while luôn đảm bảo khối lệnh trong vòng lặp được thực hiện ít nhất một lần. Ví dụ:
do {
    alert("do... while"); // Bạn sẽ nhận được thông báo "do... while" một lần duy nhất
} while (0 > 1);
Cú pháp của vòng lặp do... while như sau:
do {
        khối lệnh;
}
while (biểu_thức_điều_kiện);
Các thành phần cú pháp chính > Vòng lặp > Vòng lặp for

Vòng lặp for thường được sử dụng khi cần lặp một khối lệnh mà lập trình viên biết trước sẽ cần lặp bao nhiêu lần. Cú pháp của vòng lặp for như sau:
for (biểu_thức_khởi_tạo; biểu_thức_điều_kiện; biểu_thức_thay_đổi_giá_trị) {
    Khối lệnh cần lặp;
}
Khi bắt đầu vòng lặp for, lập trình viên cần khởi tạo một biến nhất định bằng biểu_thức_khởi_tạo để dùng trong biểu_thức_điều_kiện, nếu biểu_thức_điều_kiện trả về true, khối lệnh cần lặp sẽ được thực hiện, sau khi thực hiện xong khối lệnh cần lặp, biểu_thức_thay_đổi_giá_trị sẽ được thực hiện, tiếp theo, biểu_thức_điều_kiện sẽ lại được kiểm tra, cứ như vậy cho đến khi biểu_thức_điều_kiện trả về false, khi đó vòng lặp sẽ kết thúc.
Các thành phần cú pháp chính > Vòng lặp > Vòng lặp for... in

Vòng lặp for... in dùng để lặp qua tất cả các thuộc tính của một đối tượng (hay lặp qua tất cả các phần tử của một mảng). Cú pháp của vòng lặp này như sau:
for (biến in đối_tượng) {
    khối lệnh cần thực hiện, có thể sử dụng đối_tượng[biến] để truy cập từng thuộc tính (phần tử) của đối tượng;
}
Các thành phần cú pháp chính > Hàm

Hàm là một khối các câu lệnh với một danh sách một hoặc nhiều đối số (có thể không có đối số) và thường có tên (mặc dù trong JavaScript hàm không nhất thiết phải có tên). Hàm có thể trả lại một giá trị. Cú pháp của hàm như sau:
//ECMAScript 5 trở về trước
function tên_hàm(đối_số_1, đối_số_2) {
    //câu lệnh
}

//ECMAScript 6 trở đi

const tên_hàm = (đối_số_1, đối_số_2)=>{ // là arrow function
    //câu lệnh
}

//Thực thi
tên_hàm(1, 2); // Gọi hàm tên_hàm với hai đối số 1 và 2 ứng với đối_số_1 và đối_số_2
tên_hàm(1); // Gọi hàm tên_hàm với đối_số_1 có giá trị 1, đối_số_2 có giá trị undefined
Trong JavaScript, khi gọi hàm không nhất thiết phải gọi hàm với cùng số đối số như khi định nghĩa hàm, nếu số đối số ít hơn khi định nghĩa hàm, những đối số không được chuyển cho hàm sẽ mang giá trị undefined.
Các kiểu cơ bản sẽ được chuyển vào hàm theo giá trị, đối tượng sẽ được chuyển vào hàm theo tham chiếu.
Hàm là đối tượng hạng nhất trong JavaScript. Tất cả các hàm là đối tượng của nguyên mẫu Function. Hàm có thể được tạo và dùng trong phép toán gán như bất kỳ một đối tượng nào khác, và cũng có thể được dùng làm đối số cho các hàm khác. Do đó, JavaScript hỗ trợ hàm cấp độ cao. Ví dụ:
Array.prototype.fold =
function (value, functor) {
    var result = value;
    for (var i = 0; i < this.length; i++) {
        result = functor(result, this[i]);
    }
    return result;
}
var sum = [1,2,3,4,5,6,7,8,9,10].fold(0, function (a, b) { return a + b; });
Đoạn mã nguồn trên sẽ trả lại kết quả là 55.
Vì hàm trong JavaScript là đối tượng, lập trình viên có thể khởi tạo hàm ẩn danh:
function() { thân hàm; }
Một ví dụ sử dụng hàm ẩn danh trong JavaScript:
document.onkeypress = function(e) {
    alert("Bạn vừa nhấn một phím trên bàn phím");
}
Hàm trên sẽ hiển thị thông báo khi một số phím trên bàn phím có thể gây sự kiện onkeypress được nhấn.
Mặc định, tất cả các thành phần của đối tượng thuộc phạm vi công cộng (public). Trong JavaScript, không có khái niệm thành phần riêng hay thành phần được bảo vệ (private và protected), tuy nhiên những tính năng này có thể được giả lập.
Các thành phần cú pháp chính > Mảng

Mảng trong JavaScript là một bảng liên kết chỉ mục đến giá trị. Trong JavaScript, tất cả các đối tượng đều có thể liên kết chỉ mục đến giá trị, nhưng mảng là một đối tượng đặc biệt có thêm nhiều tính năng xử lý chỉ mục và dữ liệu đặc biệt (ví dụ: push, join, v.v.)
Mảng trong JavaScript có thuộc tính length. Thuộc tính length của JavaScript luôn luôn lớn hơn số chỉ mục lớn nhất trong mảng một đơn vị. Trong phần lớn ngôn ngữ lập trình, những thuộc tính có tính năng như length thường là thuộc tính chỉ đọc, tuy nhiên, với JavaScript, lập trình viên có thể thay đổi thuộc tính length. Bằng cách thay đổi thuộc tính length, lập trình viên có thể làm mảng lớn hơn hoặc nhỏ hơn (và xóa đi những chỉ mục lớn hơn hoặc bằng thuộc tính length mới).
Mảng trong JavaScript là mảng rải rác, có nghĩa là cho dù lập trình viên có một mảng như sau:
var test = new Array();
test[2] = 0;
test[100] = 5;
Trong trường hợp này, dù mảng có đến chỉ mục mang số 100 thì mảng cũng chỉ chiếm bộ nhớ của hai số 0 và 5. Tuy nhiên, thuộc tính length sẽ có giá trị 101 do chỉ mục lớn nhất của mảng trong ví dụ trên là 100.
Ngoài ra, mảng cũng có thể được khai báo một cách ngắn gọn, cách này thông thường được sử dụng:
var ary = [1, 2, 3];
Một số ví dụ về mảng:
var test = new Array(10); // Tạo một mảng 10 chỉ mục
var test2 = new Array(0, 1, 2,, 3); // Tạo một mảng với bốn giá trị và 5 chỉ mục
var test3 = new Array();
test3["1"] = 123; // Hoàn toàn đúng cú pháp
Lập trình viên cũng có thể định nghĩa cấu trúc bằng đối tượng như sau:
var myStructure = {
    name: {
        first: "Mel",
        last: "Smith"
    },
    age: 33,
    hobbies: [ "chess", "jogging" ]
};
Cú pháp định nghĩa cấu trúc bằng đối tượng trên có một chuẩn trên danh nghĩa là JSON.
Các thành phần cú pháp chính > Đối tượng

Đối tượng trong JavaScript là một thực thể có tên xác định và có thuộc tính trỏ đến giá trị, hàm hoặc cũng có thể là một đối tượng khác. Có nghĩa là, đối tượng trong JavaScript là một mảng kết hợp (associative array) tương tự như mảng trong PHP hay từ điển trong Python, PostScript hoặc Smalltalk.
JavaScript có một số đối tượng định nghĩa sẵn, bao gồm mảng (Array), boolean (Boolean), ngày tháng (Date), hàm (Function), toán học (Math), số (Number), đối tượng (Object), biểu thức tìm kiếm (RegExp), chuỗi (String), symbol (Symbol). Các đối tượng khác là đối tượng dùng để truy cập và điều khiển các khía cạnh của trình duyệt, bao gồm window, history, navigator, location, screen, document, form,..
Từ ECMAScript 6 trở đi, Javascript đã hỗ trợ class, interface giúp việc lập trình hướng đối tượng trở nên dễ dàng hơn.
Lập trình viên có thể thêm hoặc xóa thuộc tính hoặc hàm trong đối tượng sau khi đối tượng đã được tạo. Để làm việc này cho tất cả các đối tượng được tạo từ cùng một hàm khởi tạo, lập trình viên có thể sử dụng thuộc tính prototype của hàm khởi tạo để truy cập đối tượng nguyên mẫu. Lập trình viên không nhất thiết phải tự xóa các đối tượng đã tạo, JavaScript tự động gom rác tất cả những biến không còn được dùng nữa.
Ví dụ:
function samplePrototype() {
    this.attribute1 = "someValue"; // thêm một thuộc tính cho đối tượng
    this.attribute2 = 234; // thêm thuộc tính nữa cho đối tượng
    this.function1 = testFunction; // thêm một hàm vào đối tượng
}

function testFunction() {
    alert(this.attribute2); //hiển thị 234
}

var sampleObject = new samplePrototype; // khởi tạo một đối tượng
sampleObject.function1(); // gọi hàm function1 của đối tượng sampleObject

sampleObject.attribute3 = 123; // thêm một thuộc tính nữa cho đối tượng sampleObject

delete sampleObject.attribute1; // xóa bỏ 1 thuộc tính
delete sampleObject; // xóa bỏ đối tượng
Các thành phần cú pháp chính > Qu

Tùy theo môi trường phát triển, sửa lỗi JavaScript có thể sẽ rất khó khăn. Với  dùng trên trang web, hiện tại, các trình duyệt dựa trên Gecko (như Mozilla, Mozilla Firefox) có công cụ tìm diệt lỗi rất tốt (Venkman), ngoài ra còn kèm theo một công cụ kiểm tra DOM.
Các phiên bản mới hơn của JavaScript (như bản dùng trên Internet Explorer 5 và Netscape 6) hỗ trợ mệnh đề quản lý lỗi try... catch... finally, mệnh đề này bắt nguồn từ Java giúp lập trình viên quản lý lỗi thời gian chạy hoặc quản lý ngoại lệ xuất phát từ cú pháp throw. Cú pháp của mệnh đề này như sau:
try {
    Khối lệnh cần thực hiện có thể gây lỗi;
}
catch (error) {
    Khối lệnh cần thực hiện trong trường hợp có lỗi;
}
finally {
    Khối lệnh luôn được thực hiện;
}
Trong cú pháp trên error là một đối tượng Error có hai thuộc tính theo chuẩn ECMAScript phiên bản 3:
error.message: Thông điệp diễn giải lỗi
error.name: Tên lỗi
Tuy nhiên mỗi trình duyệt sử dụng một bản JavaScript khác nhau, trong các trình duyệt lớn và phổ dụng không có trình duyệt nào hoàn toàn tuân thủ theo chuẩn ECMAScript phiên bản 3. Ví dụ như Internet Explorer 6 SP 1 có thêm hai thuộc tính:
error.number: Bí số của lỗi
error.description: Thông điệp diễn giải lỗi
Còn Mozilla Firefox 1.07 có thêm ba thuộc tính:
error.fileName: Tên tập tin xảy ra lỗi
error.lineNumber: Dòng xảy ra lỗi
error.stack: Cả hai thuộc tính trên gộp lại trong một chuỗi ký tự
Phần finally là không bắt buộc. Lập trình viên hoàn toàn có thể sử dụng try... catch mà không có finally.
Các thành phần cú pháp chính > Qu > Phạm vi ảnh hưởng của lỗi

Các ngôn ngữ lập trình kịch bản rất dễ bị ảnh hưởng bởi lỗi, hơn nữa, mỗi một trình duyệt, mỗi một công ty ứng dụng JavaScript một cách hoàn toàn khác nhau nên lập trình viên JavaScript thường phải dành rất nhiều thời gian sửa lỗi để đảm bảo đoạn mã nguồn của mình sẽ hoạt động tốt. Trong những trang HTML mà thẻ script và các đoạn mã HTML khác xen kẽ lẫn nhau, lỗi cú pháp có thể được phát hiện dễ dàng hơn bằng cách để mỗi hàm trong một thẻ script riêng biệt hoặc có thể sử dụng nhiều tệp.js khác nhau. Trong nhiều trường hợp, cách này còn giúp tránh làm hỏng cả trang web trong trường hợp có lỗi trong một đoạn mã nguồn.
Các ngôn ngữ dựa trên JavaScript

Ngôn ngữ kịch bản dùng trong Macromedia Flash - ActionScript có cú pháp gần giống với JavaScript, tuy nhiên mô hình đối tượng của ActionScript khác hẳn so với JavaScript.
JSON (JavaScript Object Notation) là một định dạng chia sẻ dữ liệu đa mục đích.
JavaScript OSA (JavaScript cho OSA, hay JSOSA) là một ngôn ngữ kịch bản dựa trên bản JavaScript SpiderMonkey trong trình duyệt Mozilla 1.5 dùng cho máy tính Macintosh. Đây là một phần mềm miễn phí phát hành bởi Late Night Software. Tương tác với hệ điều hành và các chương trình khác được thực hiện thông qua đối tượng MacOS. Ngoài những khác biệt trên, JavaScript OSA giống hệt bản JavaScript SpiderMonkey. Ngôn ngữ này được thêm vào hệ điều hành Mac OS để cung cấp thêm lựa chọn cho lập trình viên ngoài AppleScript.
Trước kia, ECMAScript cũng được sử dụng trong chuẩn VRML97 dùng trong dựng cảnh VRML.
Thư viện JavaScript nổi tiếng

Bộ khung Prototype kết hợp với thư viện scriptaculous.
Thư viện jQuery, tiết kiệm thời gian viết mã lệnh cũng như cung cấp các hàm tương tác với DOM trên các trình duyệt khác nhau
Nodejs, hệ thống chương trình giúp chạy Javascript ngoài trình duyệt.
ReactJS, thư viện miễn phí nguồn mở hỗ trợ xây dựng giao diện người dùng
Chumbivilcas (tỉnh)

| Chumbivilcas |
| --- | --- |
—  Tỉnh  —
 
 
 Vị trí của Chumbivilcas trong vùng Cusco
Chumbivilcas
Quốc gia: Peru
Vùng: Cusco
Tỉnh lỵ: Santo Tomás
Diện tích
 • Tổng cộng: 5.371 km2 (2,074 mi2)
Dân số 
 • Tổng cộng: 69.669
Múi giờ: UTC−5
Tỉnh Chumbivilcas (tiếng Tây Ban Nha: Provincia de Chumbivilcas) là một tỉnh thuộc vùng Cusco của Peru. Tỉnh Chumbivilcas có diện tích 5371 km², dân số thời điểm theo điều tra dân số ngày 11 tháng 7 năm 1993 là 69669 người. Tỉnh lỵ đóng ở Santo Tomás.
Chú thích

↑  “Provinces of Peru”. Statoids. ngày 23 tháng 2 năm 2008. Truy cập 5 tháng 7 năm 2012.
Pyrrhia depurpurata

| Pyrrhia depurpurata> Phân loại khoa học |
| --- | --- |
Giới (regnum): Animalia
Ngành (phylum): Arthropoda
Lớp (class): Insecta
Bộ (ordo): Lepidoptera
Họ (familia): Noctuidae
Chi (genus): Pyrrhia
Loài (species): P. depurpurata
Danh pháp hai phần
Pyrrhia depurpurata Lempke, 1966 
Pyrrhia depurpurata là một loài bướm đêm trong họ Noctuidae.
Chú thích

↑  Bisby, F.A.; Roskov, Y.R.; Orrell, T.M.; Nicolson, D.; Paglinawan, L.E.; Bailly, N.; Kirk, P.M.; Bourgoin, T.; Baillargeon, G.; Ouvrard, D. (2011). “Species 2000 & ITIS Catalogue of Life: 2011 Annual Checklist”. Species 2000: Reading, UK. Truy cập ngày 28 tháng 6 năm 2014.
↑  Beccaloni, G. W., Scoble, M. J., Robinson, G. S. & Pitkin, B. (Editors). (2003) The Global Lepidoptera Names Index (LepIndex). (Geraadpleegd maart 2013).
Khi điện thoại đổ chuông

phim truyền hình Hàn Quốc năm 2024Bản mẫu:SHORTDESC:phim truyền hình Hàn Quốc năm 2024
| Khi điện thoại đổ chuông |
| --- | --- |
Áp phích quảng bá
Tên gốc: 
Hangul: 지금 거신 전화는
Hanja: 只今 거신 電話는
Nghĩa đen: The Number You Have Dialed
Romaja quốc ngữ: Jigeum geosin jeonhwaneun
McCune–Reischauer: Chigŭm kŏshin chŏnhwanŭn
 
Thể loại:  Kịch tâm lý tình cảm  Lãng mạn  Bí ẩn  Giật gân 
Phát triển: Kwon Seong-chang
Dựa trên: The Number You Have Dialed của Geon Eomul Nyeo
Kịch bản: Kim Ji-woon
Đạo diễn:  Park Sang-woo  Wi Deuk-gyu 
Diễn viên:  Yoo Yeon-seok  Chae Soo-bin  Heo Nam-jun [ko]  Jang Gyu-ri 
Nhạc phim: Roh Hyeong-woo [ko]
Nhạc dạo: "When the Phone Rings" của Oh Hee-joon
Quốc gia:  Hàn Quốc
Ngôn ngữ: Tiếng Hàn
Số tập: 12
Sản xuất
Giám chế: Oh Jin-seung  Lee Min-ji
Nhà sản xuất:  Lee Dae-yong  Park Ji-eun  Bae Ji-hyun  Moon Seok-hwan  Oh Kwang-hee  Park Ho-sik 
Thời lượng: 64–70 phút
Đơn vị sản xuất:  Bon Factory  Baram Pictures [ko] 
Trình chiếu
Kênh trình chiếu: MBC TV
Phát sóng: 22 tháng 11 năm 2024 (2024-11-22) – 4 tháng 1 năm 2025 (2025-01-04)
Khi điện thoại đổ chuông (Hangul: 지금 거신 전화는, tiếng Anh: When the Phone Rings) là một bộ phim truyền hình Hàn Quốc có sự tham gia của Yoo Yeon-seok, Chae Soo-bin, Heo Nam-jun [ko] và Jang Gyu-ri. Kim Ji-woon đóng vai trò là người viết kịch bản cho bộ phim và được đồng đạo diễn bởi Park Sang-woo và Wi Deuk-gyu. Phim được phát sóng trên MBC TV từ ngày 22 tháng 11 năm 2024 và phát sóng vào thứ sáu và thứ bảy hàng tuần lúc 21:50 (KST). Bộ phim cũng được phát trên nền tảng phát trực tuyến Netflix ở các khu vực được chọn.
Tóm tắt

Khi điện thoại đổ chuông kể về câu chuyện của một cặp vợ chồng "Show Window" – họ sống trong một cuộc hôn nhân sắp đặt và đã không nói chuyện với nhau trong suốt ba năm, mọi chuyện chỉ thay đổi khi nam chính nhận được một cuộc gọi đe dọa từ một kẻ bắt cóc. Tình huống hoàn toàn thay đổi khi nữ chính bắt đầu sử dụng chiếc điện thoại đó như một công cụ để thoát khỏi một mối quan hệ không mong muốn nhưng điều gì sẽ xảy ra nếu mọi thứ đảo ngược và bản thân nữ chính lại bị mắc kẹt trong cái bẫy mà cô đã giăng ra.
Dàn diễn viên > Chính

Yoo Yeon-seok trong vai Baek Sa-eon
Chae Soo-bin trong vai Hong Hee-joo/Na Hee-joo
Heo Nam-jun [ko] trong vai Ji Sang-woo
Jang Gyu-ri trong vai Na Yu-ri
Dàn diễn viên > Phụ > Gia đình của Sa-eon

Jung Dong-hwan trong vai Baek Jang-ho
Yu Seong-ju trong vai Baek Ui-yong
Chu Sang-mi trong vai Shim Kyu-jin
Lee Jae-joon trong vai Baek Sa-eon (lúc nhỏ)
Dàn diễn viên > Phụ > Gia đình của Hee-joo

Choi Kwang-il [ko] trong vai Hong Il-kyung
Oh Hyun-kyung trong vai Kim Yeon-Hui
Han Jae-yi [ko] trong vai Hong In-na
Park Won-sang trong vai Na Jin-chul
Shin Yeon-woo trong vai Hong Hee-joo (lúc nhỏ)
Yoon Seo-yeon trong vai Hong In-na (lúc nhỏ)
Dàn diễn viên > Phụ > Những người trong văn phòng tổng thống

Im Chul-soo [en] trong vai Kang Young-woo
Choi Woo-jin [ko] trong vai Park Do-jae
Park Sun-young trong vai Kim Soo-young
Song Jin-hee trong vai Ahn Jin-hee
Jung Ji-hwan trong vai Jeong Won-bin
Dàn diễn viên > Phụ > Những người xung quanh Sa-eon

Ko Sang-ho [ko] trong vai Jang Hyuk-jin
Kim Jun-bae [ko] trong vai Jung Sang-hoon
Hong Seo-jun [ko] trong vai Min Do-ki
Dàn diễn viên > Phụ > Những người xung quanh Hee-joo

Yang Jo-ah trong vai Han Jin-yi
Dàn diễn viên > Phụ > Khác

Park Jae-yoon trong vai Kẻ bắt cóc/Baek Sa-eon thật
Sản xuất > Phát triển

Khi Điện Thoại Đổ Chuông là một bộ phim được lên kế hoạch bởi Kwon Sung-chang và do Kim Ji-woon đóng vai trò là nhà biên kịch, người trước đây đã viết kịch bản cho hai bộ phim là Góc khuất học đường (2021) và Bác sĩ Yo Han (2019). Bộ phim được đồng đạo diễn bởi Park Sang-woo, người trước đây đã đạo diễn cho Cấm hôn lệnh (2022–2023), cùng với Wi Deuk-gyu. Bộ phim được sản xuất bởi Bon Factory và Baram Pictures và được dựa trên loạt tiểu thuyết web nổi tiếng được đăng tải trên Kakao Page mang tên The Number You Have Dialed của Geon Eomul Nyeo. Bộ phim có tổng cộng 12 tập.
Vào ngày 8 tháng 5 năm 2024, MBC thông báo rằng họ đã hoàn tất quá trình tuyển vai và bộ phim đang bước vào quá trình sản xuất.
Sản xuất > Tuyển vai

Vào ngày 13 tháng 3 năm 2024, Yoo Yeon-seok và Chae Soo-bin đang được xem xét để tham gia bộ phim. Vào ngày 27 tháng 6, có thông tin rằng Jang Gyu-ri đã nhận được lời mời tham gia và đang tích cực xem xét về lời mời này. Đến ngày 8 tháng 5, Yoo và Chae được xác nhận rằng họ sẽ xuất hiện trong bộ phim. Vào ngày 24 tháng 9, Yoo, Chae, Heo Nam-jun [ko] và Jang đã xác nhận tham gia với tư cách là nhân vật chính trong bộ phim.
Phát hành

Bộ phim được công chiếu trên MBC TV vào thứ sáu và thứ bảy hàng tuần lúc 21:50 (KST) từ ngày 22 tháng 11 năm 2024. Netflix đã thông báo rằng bộ phim sẽ được phát trực tuyến độc quyền trên nền tảng của họ.
Nhạc phim > Phần 1

| Phát hành vào ngày 30 tháng 11 năm 2024> STT | Phát hành vào ngày 30 tháng 11 năm 2024> Nhan đề | Phát hành vào ngày 30 tháng 11 năm 2024> Phổ lời | Phát hành vào ngày 30 tháng 11 năm 2024> Phổ nhạc | Phát hành vào ngày 30 tháng 11 năm 2024> Nghệ sĩ | Phát hành vào ngày 30 tháng 11 năm 2024> Thời lượng |
| --- | --- | --- | --- | --- | --- |
| 1. | "See The Light" | Kinsha | AllThou Suhyun Kim | Im Hyun-sik | 3:02 |
| 2. | "See The Light" (Nh.c.) |   | AllThou Suhyun Kim |   | 3:02 |
| Tổng thời lượng: | Tổng thời lượng: | Tổng thời lượng: | Tổng thời lượng: | Tổng thời lượng: | 6:04 |
Nhạc phim > Phần 2

| Phát hành vào ngày 7 tháng 12 năm 2024> STT | Phát hành vào ngày 7 tháng 12 năm 2024> Nhan đề | Phát hành vào ngày 7 tháng 12 năm 2024> Phổ lời | Phát hành vào ngày 7 tháng 12 năm 2024> Phổ nhạc | Phát hành vào ngày 7 tháng 12 năm 2024> Nghệ sĩ | Phát hành vào ngày 7 tháng 12 năm 2024> Thời lượng |
| --- | --- | --- | --- | --- | --- |
| 1. | "Numb" | Red Anne (BADX) Nam Hee-yoon (Anne Story) | Maxx Song (BADX) Sam Carter (MonoTree) Jisan Park (BADX) True Choi (BADX) Ton Kim | Lim Yeon | 3:17 |
| 2. | "Numb" (Nh.c.) |   | Maxx Song (BADX) Sam Carter (MonoTree) Jisan Park (BADX) True Choi (BADX) Ton Kim |   | 3:17 |
| Tổng thời lượng: | Tổng thời lượng: | Tổng thời lượng: | Tổng thời lượng: | Tổng thời lượng: | 6:34 |
Nhạc phim > Phần 3

| Phát hành vào ngày 14 tháng 12 năm 2024> STT | Phát hành vào ngày 14 tháng 12 năm 2024> Nhan đề | Phát hành vào ngày 14 tháng 12 năm 2024> Phổ lời | Phát hành vào ngày 14 tháng 12 năm 2024> Phổ nhạc | Phát hành vào ngày 14 tháng 12 năm 2024> Nghệ sĩ | Phát hành vào ngày 14 tháng 12 năm 2024> Thời lượng |
| --- | --- | --- | --- | --- | --- |
| 1. | "Hear Me Out" | Kim A-Hyun | Kim Lee-Hyeon Noh Hyeong-Woo | Suran | 3:43 |
| 2. | "Hear Me Out" (Nh.c.) |   | Kim Lee-Hyeon Noh Hyeong-Woo |   | 3:43 |
| Tổng thời lượng: | Tổng thời lượng: | Tổng thời lượng: | Tổng thời lượng: | Tổng thời lượng: | 7:26 |
Nhạc phim > Phần 4

| Phát hành vào ngày 21 tháng 12 năm 2024> STT | Phát hành vào ngày 21 tháng 12 năm 2024> Nhan đề | Phát hành vào ngày 21 tháng 12 năm 2024> Phổ lời | Phát hành vào ngày 21 tháng 12 năm 2024> Phổ nhạc | Phát hành vào ngày 21 tháng 12 năm 2024> Nghệ sĩ | Phát hành vào ngày 21 tháng 12 năm 2024> Thời lượng |
| --- | --- | --- | --- | --- | --- |
| 1. | "May l Love You?" | Dinnercoat | Kim Dinnercoat Yoo Junghyun | Jae Yeon | 3:53 |
| 2. | "May l Love You?" (Nh.c.) |   | Kim Dinnercoat Yoo Junghyun |   | 3:53 |
| Tổng thời lượng: | Tổng thời lượng: | Tổng thời lượng: | Tổng thời lượng: | Tổng thời lượng: | 7:44 |