Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

West Midlands | Gabriel Deng | Module-Data-Groups | Week 2 - Book reading #131

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions debugging/book-library/script.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ function submit() {
alert("Please fill all fields!");
return false;
} else {
let book = new Book(title.value, title.value, pages.value, check.checked);
library.push(book);
let book = new Book(title.value, author.value, pages.value, check.checked);
myLibrary.push(book);
render();
}
}
Expand All @@ -54,7 +54,7 @@ function render() {
let table = document.getElementById("display");
let rowsNumber = table.rows.length;
//delete old table
for (let n = rowsNumber - 1; n > 0; n-- {
for (let n = rowsNumber - 1; n > 0; n--) {
table.deleteRow(n);
}
//insert updated row and cells
Expand All @@ -76,7 +76,7 @@ function render() {
changeBut.className = "btn btn-success";
wasReadCell.appendChild(changeBut);
let readStatus = "";
if (myLibrary[i].check == false) {
if (myLibrary[i].check) {
readStatus = "Yes";
} else {
readStatus = "No";
Expand All @@ -90,11 +90,11 @@ function render() {

//add delete button to every row and render again
let delButton = document.createElement("button");
delBut.id = i + 5;
deleteCell.appendChild(delBut);
delBut.className = "btn btn-warning";
delBut.innerHTML = "Delete";
delBut.addEventListener("clicks", function () {
delButton.id = i + 5;
deleteCell.appendChild(delButton);
delButton.className = "btn btn-warning";
delButton.innerHTML = "Delete";
delButton.addEventListener("click", function () {
alert(`You've deleted title: ${myLibrary[i].title}`);
myLibrary.splice(i, 1);
render();
Expand Down
10 changes: 10 additions & 0 deletions debugging/code-reading/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ Take a look at the following code:

Explain why line 5 and line 8 output different numbers.

Ans: The variable at line 5 is a globally declared as such it will return 1, while the variable at line 8 is a scope variable since is declared with the scope of the function.
Therefore, when the function is called it will console the x variable declared in its scope.

## Question 2

Take a look at the following code:
Expand All @@ -35,6 +38,8 @@ console.log(y);

What will be the output of this code. Explain your answer in 50 words or less.

Ans: The output will be 10 and undefined. This is because the y variable is declared within the scope of the function and therefore cannot be globally accessed.

## Question 3

Take a look at the following code:
Expand Down Expand Up @@ -62,3 +67,8 @@ console.log(y);
```

What will be the output of this code. Explain your answer in 50 words or less.

Ans: The output will be 9 and {x: 10}; This is due to the difference by which each of the
variables are passed. The variable x in f1 is passed by value, so the function will not modify the actual value of the variable.
While in f2, the variable y is passed by reference, there manipulating the code in the function will result into modification of the value
of the variable y.