diff --git a/solution/0700-0799/0729.My Calendar I/README.md b/solution/0700-0799/0729.My Calendar I/README.md
index f825b3610b8fe..eab8a561dfad9 100644
--- a/solution/0700-0799/0729.My Calendar I/README.md	
+++ b/solution/0700-0799/0729.My Calendar I/README.md	
@@ -256,6 +256,36 @@ impl MyCalendar {
 }
 ```
 
+#### JavaScript
+
+```js
+var MyCalendar = function () {
+    this.calendar = [];
+};
+
+/**
+ * @param {number} start
+ * @param {number} end
+ * @return {boolean}
+ */
+MyCalendar.prototype.book = function (start, end) {
+    for (const item of this.calendar) {
+        if (end <= item[0] || item[1] <= start) {
+            continue;
+        }
+        return false;
+    }
+    this.calendar.push([start, end]);
+    return true;
+};
+
+/**
+ * Your MyCalendar object will be instantiated and called as such:
+ * var obj = new MyCalendar()
+ * var param_1 = obj.book(start,end)
+ */
+```
+
 <!-- tabs:end -->
 
 <!-- solution:end -->
diff --git a/solution/0700-0799/0729.My Calendar I/README_EN.md b/solution/0700-0799/0729.My Calendar I/README_EN.md
index 5f3dce96c5243..124a9044aa47b 100644
--- a/solution/0700-0799/0729.My Calendar I/README_EN.md	
+++ b/solution/0700-0799/0729.My Calendar I/README_EN.md	
@@ -254,6 +254,36 @@ impl MyCalendar {
 }
 ```
 
+#### JavaScript
+
+```js
+var MyCalendar = function () {
+    this.calendar = [];
+};
+
+/**
+ * @param {number} start
+ * @param {number} end
+ * @return {boolean}
+ */
+MyCalendar.prototype.book = function (start, end) {
+    for (const item of this.calendar) {
+        if (end <= item[0] || item[1] <= start) {
+            continue;
+        }
+        return false;
+    }
+    this.calendar.push([start, end]);
+    return true;
+};
+
+/**
+ * Your MyCalendar object will be instantiated and called as such:
+ * var obj = new MyCalendar()
+ * var param_1 = obj.book(start,end)
+ */
+```
+
 <!-- tabs:end -->
 
 <!-- solution:end -->
diff --git a/solution/0700-0799/0729.My Calendar I/Solution.js b/solution/0700-0799/0729.My Calendar I/Solution.js
new file mode 100644
index 0000000000000..a8be4d933e83b
--- /dev/null
+++ b/solution/0700-0799/0729.My Calendar I/Solution.js	
@@ -0,0 +1,25 @@
+var MyCalendar = function () {
+    this.calendar = [];
+};
+
+/**
+ * @param {number} start
+ * @param {number} end
+ * @return {boolean}
+ */
+MyCalendar.prototype.book = function (start, end) {
+    for (const item of this.calendar) {
+        if (end <= item[0] || item[1] <= start) {
+            continue;
+        }
+        return false;
+    }
+    this.calendar.push([start, end]);
+    return true;
+};
+
+/**
+ * Your MyCalendar object will be instantiated and called as such:
+ * var obj = new MyCalendar()
+ * var param_1 = obj.book(start,end)
+ */