diff --git a/Assigments/Assigment#1/Q1.js b/Assigments/Assigment#1/Q1.js
new file mode 100644
index 00000000..3d93bef6
--- /dev/null
+++ b/Assigments/Assigment#1/Q1.js
@@ -0,0 +1,11 @@
+let BoolVar=True;
+var b="Shahid"
+const p=3.14
+
+//Changing Values:
+BoolVar=false;
+b="Noori";
+// p=100; We can't change the const if so it will show Error
+console.log("Let ",BoolVar) //New Value
+console.log("Var b= ",b) //New Value
+console.log("Consr p=",p) //Const never be changed
\ No newline at end of file
diff --git a/Assigments/Assigment#1/Q2.js b/Assigments/Assigment#1/Q2.js
new file mode 100644
index 00000000..62b5f867
--- /dev/null
+++ b/Assigments/Assigment#1/Q2.js
@@ -0,0 +1,26 @@
+let Std={
+ name: "Shahid Hussain",
+ fname: "Gulab Deen",
+ age: "19",
+ domicle: "GB",
+
+}
+const Result={
+ english: 80,
+ maths: 90,
+ urdu: 85,
+ sci: 95,
+
+}
+const Fee={
+ dues: 5000,
+ pay: false,
+}
+Object.freeze(Fee);
+//Modification
+console.log(Result)
+Result.english=10;
+console.log(Result)
+//No Modifictaion in obj Fee
+Fee.pay=true; //Will not able to modify
+console.log(Fee)
\ No newline at end of file
diff --git a/Assigments/Assigment#1/Q3.js b/Assigments/Assigment#1/Q3.js
new file mode 100644
index 00000000..6d0c4e37
--- /dev/null
+++ b/Assigments/Assigment#1/Q3.js
@@ -0,0 +1,16 @@
+// Array declared with let
+let arr1 = [1, 2, 3];
+arr1.push(4);
+console.log(arr1); // [1, 2, 3, 4]
+
+// Array declared with const
+const arr2 = [5, 6, 7];
+arr2.push(8); // Modification allowed
+console.log(arr2); // [5, 6, 7, 8]
+
+// Array declared with const but sealed to prevent modifications
+const arr3 =[9, 10, 11];
+Object.freeze(arr3);
+// arr3.push(10); This will throw an error in strict mode
+
+console.log(arr3); // [9, 10, 11]
diff --git a/Assigments/Assigment#1/Q4.js b/Assigments/Assigment#1/Q4.js
new file mode 100644
index 00000000..9c201c64
--- /dev/null
+++ b/Assigments/Assigment#1/Q4.js
@@ -0,0 +1,18 @@
+// Object with data types
+const person = {
+ name: "Shahid",
+ age: 20,
+ isStudent: true
+};
+
+// Convert object values to an array
+const Array1 = Object.values(person);
+console.log(Array1);
+
+// Convert string values to uppercase
+console.log(person.name.toUpperCase());
+
+// Store Boolean value of object in a variable as string
+const boolString =String(person.isStudent)
+console.log(boolString); // "True"
+console.log(typeof boolString); // "string"
diff --git a/Assigments/Assigment#1/Q5.js b/Assigments/Assigment#1/Q5.js
new file mode 100644
index 00000000..88233c2e
--- /dev/null
+++ b/Assigments/Assigment#1/Q5.js
@@ -0,0 +1,6 @@
+let x = 5;
+console.log(x++); // Post-increment, output: 5, x becomes 6
+console.log(++x); // Pre-increment, output: 7
+
+console.log(5 === '5'); // Strict equality, output: false
+console.log(5 == '5'); // Loose equality, output: true
diff --git a/Assigments/Assigment#1/Q6.js b/Assigments/Assigment#1/Q6.js
new file mode 100644
index 00000000..dfc5bde8
--- /dev/null
+++ b/Assigments/Assigment#1/Q6.js
@@ -0,0 +1,20 @@
+// Regular function
+function add(a, b) {
+ return a + b;
+}
+console.log(add(2, 3)); // 5
+
+// Arrow function
+const multiply = (a, b) => a * b;
+console.log(multiply(2, 3)); // 6
+
+// Anonymous function
+const subtract = function(a, b) {
+ return a - b;
+};
+console.log(subtract(5, 3)); // 2
+
+// IIFE (Immediately Invoked Function Expression)
+(function() {
+ console.log("IIFE executed");
+})(); // "IIFE executed"
diff --git a/Assigments/Assigment#1/Q7.js b/Assigments/Assigment#1/Q7.js
new file mode 100644
index 00000000..e69de29b
diff --git a/Assigments/ches.html b/Assigments/ches.html
new file mode 100644
index 00000000..2aa78642
--- /dev/null
+++ b/Assigments/ches.html
@@ -0,0 +1,128 @@
+
+
+
+
+
+ Chess Board
+
+
+
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/JS/AsyncAwait/AsyncAwait.js b/JS/AsyncAwait/AsyncAwait.js
new file mode 100644
index 00000000..d8874e01
--- /dev/null
+++ b/JS/AsyncAwait/AsyncAwait.js
@@ -0,0 +1,11 @@
+ async function DisplayData() {
+ let myPromise = new Promise(function(resolve, reject) {
+ setTimeout(() => {
+ resolve("Hello from Amazon Server");
+ }, 2000);
+ });
+ let FullfilledPromise = await myPromise;
+ console.log(FullfilledPromise)
+}
+
+DisplayData();
\ No newline at end of file
diff --git a/JS/AsyncAwait/AsyncAwaitPromises.js b/JS/AsyncAwait/AsyncAwaitPromises.js
new file mode 100644
index 00000000..98d75f53
--- /dev/null
+++ b/JS/AsyncAwait/AsyncAwaitPromises.js
@@ -0,0 +1,22 @@
+ function helloWorld() {
+ return new Promise((resolve )=>{
+setTimeout(() => {
+ resolve("Succesfull")
+}, 3000);
+
+ });
+}
+async function Fun1() {
+ const msg = await helloWorld();
+ console.log("Message from function 1:", msg);
+}
+async function Fun2() {
+ const msg = await helloWorld();
+ console.log("Message from function 2:", msg);
+}
+
+Fun1()
+Fun2()
+
+
+
diff --git a/JS/AsyncAwait/Asynchronous.js b/JS/AsyncAwait/Asynchronous.js
new file mode 100644
index 00000000..6cd55c5e
--- /dev/null
+++ b/JS/AsyncAwait/Asynchronous.js
@@ -0,0 +1,18 @@
+function DsiplayMessage() {
+ return new Promise((resolve) => {
+ setTimeout(() => {
+ resolve("Hello World!");
+ }, 2000);
+ });
+}
+const FirstFunction =async function () {
+ const result =await DsiplayMessage();
+ console.log("FirstFunction :", result);
+};
+const SecondFunction = async () => {
+ const result = await DsiplayMessage();
+ console.log("SecondFunction :", result);
+};
+
+FirstFunction();
+SecondFunction();
diff --git a/JS/AsyncAwait/TryCatch.js b/JS/AsyncAwait/TryCatch.js
new file mode 100644
index 00000000..9533ca19
--- /dev/null
+++ b/JS/AsyncAwait/TryCatch.js
@@ -0,0 +1,14 @@
+var myObject = {
+ name: "John Doe",
+ age: 15,
+ email: "test@test.com",
+ job: "Auditor",
+};
+try {
+ let userJSON = JSON.stringify(myObject);
+ console.log("JSON Data" ,userJSON);
+ let userObj = JSON.parse(myObject);
+ console.log("Object Data", userObj);
+} catch (e) {
+ console.error(`Invalid data!`);
+}
diff --git a/JS/AsyncAwait/data.json b/JS/AsyncAwait/data.json
new file mode 100644
index 00000000..1d6172f7
--- /dev/null
+++ b/JS/AsyncAwait/data.json
@@ -0,0 +1,7 @@
+{
+ "Name": "Saqlain",
+ "FatherName": "Zaheer"
+}
+
+
+Saqlain
diff --git a/JS/Destructuring/Array.js b/JS/Destructuring/Array.js
new file mode 100644
index 00000000..11d6062f
--- /dev/null
+++ b/JS/Destructuring/Array.js
@@ -0,0 +1,11 @@
+const [first, last] = ["Nikola", "Tesla"];
+
+
+
+let data = ["saqlain", 70, 432423, true];
+const [name, age, ...others] = data
+
+console.log(`Name : ${name} , Age : ${age}, Other Values :${others}`)
+
+data.push("Shah")
+console.log(`Data : ${data}`)
\ No newline at end of file
diff --git a/JS/Destructuring/Default.js b/JS/Destructuring/Default.js
new file mode 100644
index 00000000..b25d4782
--- /dev/null
+++ b/JS/Destructuring/Default.js
@@ -0,0 +1,8 @@
+const data = {
+ username: "saqlain",
+ age: 70,
+ isMale: true,
+};
+console.log("My Name is ",username);
+
+
\ No newline at end of file
diff --git a/JS/Destructuring/destructuring.js b/JS/Destructuring/destructuring.js
new file mode 100644
index 00000000..e1c1b00c
--- /dev/null
+++ b/JS/Destructuring/destructuring.js
@@ -0,0 +1,10 @@
+
+
+
+const numbers = [1, 2, 3, 4, 5, 6];
+console.log("numbers", numbers)
+const [num1, num2, ...others] = numbers;
+console.log("value", ...others)
+const value = [num1, num2, ...others]
+
+ console.log("value", value)
\ No newline at end of file
diff --git a/JS/Destructuring/object.js b/JS/Destructuring/object.js
new file mode 100644
index 00000000..5dd6cbcb
--- /dev/null
+++ b/JS/Destructuring/object.js
@@ -0,0 +1,17 @@
+let { title, author } = {
+ title: "MERN Stack Course",
+ author: "Saqlain Shah",
+};
+
+
+let data = {
+ username:"saqlain",
+ Age: 70,
+ No:432423,
+ isMale: true
+};
+const {username, Age, ...abc} = data
+
+console.log(`username : ${username} , Age : ${Age}, Other Values :${abc}`)
+
+console.log(abc)
\ No newline at end of file
diff --git a/JS/EventListner/evenyListner.html b/JS/EventListner/evenyListner.html
new file mode 100644
index 00000000..65b93005
--- /dev/null
+++ b/JS/EventListner/evenyListner.html
@@ -0,0 +1,57 @@
+
+
+
+ Event Listeners with HTML Form
+
+
+
+
+
+
diff --git a/JS/EventListner/onchange.js b/JS/EventListner/onchange.js
new file mode 100644
index 00000000..3f38bf5e
--- /dev/null
+++ b/JS/EventListner/onchange.js
@@ -0,0 +1,7 @@
+const inputElement = document.getElementById("myInput");
+
+inputElement.onchange = function () {
+ console.log("Input value changed");
+ // Perform additional actions or updates here
+};
+
diff --git a/JS/EventListner/onclick.js b/JS/EventListner/onclick.js
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/JS/EventListner/onclick.js
@@ -0,0 +1 @@
+
diff --git a/JS/EventListner/onsubmit.js b/JS/EventListner/onsubmit.js
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/JS/EventListner/onsubmit.js
@@ -0,0 +1 @@
+
diff --git a/JS/FetchApi/FetchApi.js b/JS/FetchApi/FetchApi.js
new file mode 100644
index 00000000..b3b43243
--- /dev/null
+++ b/JS/FetchApi/FetchApi.js
@@ -0,0 +1,23 @@
+const url = "www.rinor.pk/videostreaming"
+
+fetch(url, {
+ method: "POST",
+ headers: {
+ "Content-type": "application/json",
+ apikey: apiKey,
+ },
+ body: data,
+
+}).then(
+ (response) => {
+ if (response.ok) {
+ return response.json();
+ }
+ throw new Error("Request failed!");
+ },
+ (networkError) => {
+ console.log(networkError.message);
+ }
+);
+
+fetch()
diff --git a/JS/FetchApi/FetchApiFunction.js b/JS/FetchApi/FetchApiFunction.js
new file mode 100644
index 00000000..3b750d73
--- /dev/null
+++ b/JS/FetchApi/FetchApiFunction.js
@@ -0,0 +1,5 @@
+fetch("https://api-xyz.com/endpoint", {
+ method: "POST",
+ body: JSON.stringify({ id: "200" }),
+})
+
diff --git a/JS/FetchApi/PromiseUrlParameterFetchApi.js b/JS/FetchApi/PromiseUrlParameterFetchApi.js
new file mode 100644
index 00000000..374c5f0f
--- /dev/null
+++ b/JS/FetchApi/PromiseUrlParameterFetchApi.js
@@ -0,0 +1,9 @@
+fetch("url").then(
+ (response) => {
+ console.log(response);
+ },
+ (rejection) => {
+ console.error(rejection.message);
+ }
+);
+
diff --git a/JS/Promises/UsingPromises.js b/JS/Promises/UsingPromises.js
new file mode 100644
index 00000000..50e9a715
--- /dev/null
+++ b/JS/Promises/UsingPromises.js
@@ -0,0 +1,5 @@
+promise
+ .then()
+ .catch();
+
+
\ No newline at end of file
diff --git a/JS/Promises/callback.js b/JS/Promises/callback.js
new file mode 100644
index 00000000..dbf1e99d
--- /dev/null
+++ b/JS/Promises/callback.js
@@ -0,0 +1,74 @@
+
+function fetchData(innerFunction) {
+ console.log("Fetching Data...!");
+ setTimeout(() => {
+ console.log("Data fetched");
+ innerFunction()
+ }, 4000);
+}
+
+function processData(innerFunction) {
+ console.log("Processing Data...!");
+ setTimeout(() => {
+ console.log("Data processed");
+ innerFunction()
+ }, 3000);
+}
+
+function saveData(innerFunction) {
+ console.log("Saving Data...!");
+ setTimeout(() => {
+ console.log("Data saved");
+ innerFunction()
+ }, 2000);
+}
+
+fetchData(()=>{
+ processData(()=>{
+ saveData(()=>{
+ console.log("All done!");
+ })
+ })
+})
+
+
+
+
+
+
+
+
+// let firstTask = (callback) => {
+// console.log("Task Loading...!");
+
+// setTimeout(() => {
+// console.log("First Task");
+// callback()
+// }, 4000);
+// }
+
+
+// let SecondTask = (callback) => {
+// console.log("Task Loading...!");
+
+// setTimeout(() => {
+// console.log("Second Task ");
+// callback()
+// }, 3000);
+// }
+
+// let ThirdTask = (callback) => {
+// setTimeout(() => {
+// console.log("Third Task ");
+// callback()
+// }, 2000);
+// }
+
+// firstTask(()=>{
+// SecondTask(()=>{
+// ThirdTask(()=>{
+// console.log("All Done")
+// })
+// })
+
+// })
diff --git a/JS/Promises/callbackAlternative.js b/JS/Promises/callbackAlternative.js
new file mode 100644
index 00000000..3f3caf6a
--- /dev/null
+++ b/JS/Promises/callbackAlternative.js
@@ -0,0 +1,73 @@
+
+// let firstTask = new Promise((resolve)=>{
+// setTimeout(() => {
+// resolve("First Task");
+// resolve()
+// }, 4000);
+// })
+
+
+// let SecondTask = new Promise((resolve)=>{
+// setTimeout(() => {
+// resolve("Second Task");
+// }, 3000);
+// })
+
+
+// let ThirdTask = new Promise((resolve)=>{
+// setTimeout(() => {
+// resolve("Third Task");
+// }, 2000);
+// })
+
+
+// firstTask
+// .then((a)=>console.log(a))
+// .then()
+// .then(ThirdTask())
+// .then(()=>{console.log("All Done")})
+
+
+let fetchData= ()=> {
+ return new Promise((resolve) => {
+ console.log("Fetching Data...!");
+ setTimeout(() => {
+ console.log("Data fetched");
+ resolve();
+ }, 2000);
+ });
+}
+
+function processData() {
+ return new Promise((resolve) => {
+ console.log("Processing Data...!");
+ setTimeout(() => {
+ console.log("Data processed");
+ resolve();
+ }, 2000);
+ });
+}
+
+function saveData() {
+ return new Promise((resolve) => {
+ console.log("Saving Data...!");
+ setTimeout(() => {
+ console.log("Data saved");
+ resolve();
+ }, 2000);
+ });
+}
+
+fetchData()
+ .then(() => processData())
+ .then(() => saveData())
+ .then(() => {
+ console.log("All done!");
+ })
+ .catch((error) => {
+ console.error("An error occurred:", error);
+ });
+
+
+
+
\ No newline at end of file
diff --git a/JS/Promises/promise.js b/JS/Promises/promise.js
new file mode 100644
index 00000000..c8749675
--- /dev/null
+++ b/JS/Promises/promise.js
@@ -0,0 +1,25 @@
+let myPromise = new Promise(
+ function (fullfilled, Rejected) {
+ let Promised = false
+ setTimeout( ()=> {
+ if (Promised){
+ fullfilled("successful!!");
+ }else{
+ Rejected("Something went Wrong");
+ }
+ }, 2000);
+}
+);
+myPromise.then( (value)=> {
+ console.log( value);
+}).catch((error)=>{
+ console.log(error);
+})
+
+
+let fun = ()=>{
+
+ console.log("Hello World")
+}
+
+fun();
\ No newline at end of file
diff --git a/JS/Promises/promiseAlternative.js b/JS/Promises/promiseAlternative.js
new file mode 100644
index 00000000..34e2b5ab
--- /dev/null
+++ b/JS/Promises/promiseAlternative.js
@@ -0,0 +1,37 @@
+function fetchData() {
+ return new Promise((resolve , reject) => {
+ console.log("Fetching Data...!");
+ setTimeout(() => {
+ console.log("Data fetched");
+ resolve();
+ }, 3000);
+ });
+ }
+ function processData() {
+ return new Promise((resolve) => {
+ console.log("Processing Data...!");
+ setTimeout(() => {
+ console.log("Data processed");
+ resolve();
+ }, 2000);
+ });
+ }
+ function saveData() {
+ return new Promise((resolve) => {
+ console.log("Saving Data...!");
+ setTimeout(() => {
+ console.log("Data saved");
+ resolve();
+ }, 1000);
+ });
+ }
+ async function performOperations() {
+
+ fetchData();
+ processData();
+ saveData();
+ console.log("All done!");
+
+ }
+
+ performOperations();
\ No newline at end of file
diff --git a/JS/Promises/promiseState.js b/JS/Promises/promiseState.js
new file mode 100644
index 00000000..502ce00d
--- /dev/null
+++ b/JS/Promises/promiseState.js
@@ -0,0 +1,21 @@
+const promise = new Promise((x, y) => {
+ setTimeout(function () {
+ const res = true;
+ if (res) {
+ fulfilled("Resolved!");
+ } else {
+ Rejected(Error("Error"));
+ }
+ }, 3000);
+});
+
+console.log(promise)
+
+promise.then(function (value) {
+ console.log("Succees", value);
+})
+// .catch(function (value) {
+// console.log("Rejected", value);
+// });
+//console.log(promise);
+//console.log(promise);
diff --git a/JS/Promises/promiseThen.js b/JS/Promises/promiseThen.js
new file mode 100644
index 00000000..22d89228
--- /dev/null
+++ b/JS/Promises/promiseThen.js
@@ -0,0 +1,15 @@
+const result = new Promise((resolve, reject) => {
+ setTimeout(() => {
+ resolve("Resolved Result");
+ }, 2000);
+});
+
+
+result.then(
+ (x) => {
+ console.log(x);
+ },
+ (err) => {
+ console.error(err);
+ }
+);
diff --git a/JS/Scoping/BlockScopedVariables.js b/JS/Scoping/BlockScopedVariables.js
new file mode 100644
index 00000000..df800430
--- /dev/null
+++ b/JS/Scoping/BlockScopedVariables.js
@@ -0,0 +1,9 @@
+const isLoggedIn = true;
+
+if (isLoggedIn == true) {
+ const statusMessage = "Logged in.";
+}
+
+// Uncaught ReferenceError...
+console.log(statusMessage);
+
diff --git a/JS/Scoping/GlobalVariables.js b/JS/Scoping/GlobalVariables.js
new file mode 100644
index 00000000..c2646b14
--- /dev/null
+++ b/JS/Scoping/GlobalVariables.js
@@ -0,0 +1,9 @@
+// Variable declared globally
+const color = "blue";
+
+function printColor() {
+ console.log(color);
+}
+
+printColor(); // => blue
+
diff --git a/JS/Scoping/scope.js b/JS/Scoping/scope.js
new file mode 100644
index 00000000..ae6a1c6c
--- /dev/null
+++ b/JS/Scoping/scope.js
@@ -0,0 +1,7 @@
+function myFunction() {
+ var pizzaName = "Margarita";
+ // Code here can use pizzaName
+}
+
+// Code here can't use pizzaName
+
diff --git a/JS/SpreadOperator/ArrayExpansion.js b/JS/SpreadOperator/ArrayExpansion.js
new file mode 100644
index 00000000..7a846fb1
--- /dev/null
+++ b/JS/SpreadOperator/ArrayExpansion.js
@@ -0,0 +1,2 @@
+const users = [...admins, ...editors, "rstacruz"];
+
diff --git a/JS/SpreadOperator/ObjectExtensions.js b/JS/SpreadOperator/ObjectExtensions.js
new file mode 100644
index 00000000..c350d892
--- /dev/null
+++ b/JS/SpreadOperator/ObjectExtensions.js
@@ -0,0 +1,6 @@
+const options = {
+ ...defaults,
+ visible: true,
+};
+
+
diff --git a/JS/SpreadOperator/RestOperator.js b/JS/SpreadOperator/RestOperator.js
new file mode 100644
index 00000000..9fc81bd1
--- /dev/null
+++ b/JS/SpreadOperator/RestOperator.js
@@ -0,0 +1,19 @@
+function average(...values) {
+ console.log("Args", values);
+ var sum = 0;
+
+ for (var i = 0; i < values.length; i++) {
+ sum = sum + values[i];
+ }
+
+ var avg = sum / values.length;
+ console.log(`Average of the args: ${avg}`);
+}
+let a= [10, 23, 45];
+let b= 23;
+let c = {
+ Number:90
+}
+average(10, 20, 22, 30 );
+average(10, 20 );
+average(10, 20, 22, 30 , 54, 65, 76);
\ No newline at end of file
diff --git a/JS/SpreadOperator/SpreadOperator.js b/JS/SpreadOperator/SpreadOperator.js
new file mode 100644
index 00000000..c3aa4d72
--- /dev/null
+++ b/JS/SpreadOperator/SpreadOperator.js
@@ -0,0 +1,44 @@
+var a = [10, 20, 30, 40, 50];
+var b = [60, 70, 80, 90, 100];
+//var c = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100];
+
+ var normal =[...a, ...b];
+
+console.log("Spread Operator", normal)
+
+
+// function sum(x, y, z) {
+// console.log( x + y + z);
+// }
+
+// const numbers = [1, 2, 3];
+
+// sum(...numbers);
+
+
+// const arr1 = [[1], [2], [3]];
+// const arr2 = [...arr1];
+// console.log("Value of A ",arr1);
+// console.log("Value of B ",arr2);
+
+
+// const obj1 = { foo: "bar", x: 42 };
+// const obj2 = { bar: "baz", y: 13 };
+// console.log(Array.isArray(arr1))
+// const mergedObj = { ...obj1, ...obj2 };
+// console.log(mergedObj)
+
+
+
+
+
+// const obj = {
+// a:"aaa",
+// b:"bbb"
+
+// }
+// const {a}= obj;
+// console.log(a)
+
+
+
diff --git a/JS/array.js b/JS/array.js
new file mode 100644
index 00000000..16a641d0
--- /dev/null
+++ b/JS/array.js
@@ -0,0 +1,14 @@
+const no = [
+ 10,
+ true,
+ "Shah" ,
+ {
+ Name:"Saqlain",
+ isAdmin:true
+ }
+
+]
+
+no[3].Name='shah'
+console.log(no[3])
+
diff --git a/JS/function.js b/JS/function.js
new file mode 100644
index 00000000..bd6e3a26
--- /dev/null
+++ b/JS/function.js
@@ -0,0 +1,16 @@
+function Fun1 (){
+ console.log("Hello ")
+}
+
+let Fun2 = function (){
+ console.log("Hello 1 ")
+}
+
+
+let Fun3 = ()=>{console.log("Hellow")}
+
+
+Fun1()
+Fun2()
+Fun3()
+
diff --git a/JS/method copy.js b/JS/method copy.js
new file mode 100644
index 00000000..bc931812
--- /dev/null
+++ b/JS/method copy.js
@@ -0,0 +1,162 @@
+//Here's the complete program that applies all the mentioned methods on the given trainee data:
+
+//array of trainees name
+let trainees = [
+ "aliya",
+ "malika",
+ "mehmooda",
+ "mudeera",
+ "shahina",
+ "fatima",
+ "qamar",
+ "akbar",
+ "zakir",
+ "shehbaz",
+ "javed",
+ "tehzeeb",
+ ];
+
+ // Using String methods
+
+ let traineeString = trainees.join(", "); // Convert array to a string separated by commas
+ console.log("\n Apply join ");
+ console.log(traineeString);
+
+ let slicedTraineeString = traineeString.slice(16, 8); // Slice a part of the string
+ console.log("\n Apply slice");
+ console.log(slicedTraineeString);
+
+ let substringTraineeString = traineeString.substring(0, 5); // Get a substring of the string
+ console.log("\n Apply substring");
+ console.log(substringTraineeString);
+
+
+
+ let replacedTraineeString = traineeString.replace("aliya", "Aliya Ejaz"); // Replace a string with another string
+ console.log("\n Apply replace ");
+ console.log(replacedTraineeString);
+
+ let upperCaseTraineeString = traineeString.toUpperCase(); // Convert string to uppercase
+ console.log("\n Apply toUpperCase ");
+ console.log(upperCaseTraineeString);
+
+ let lowerCaseTraineeString = traineeString.toLowerCase(); // Convert string to lowercase
+ console.log("\n Apply toLowerCase ");
+ console.log(lowerCaseTraineeString);
+
+ let concatenatedTraineeString = traineeString.concat(" are trainees."); // Concatenate a string
+ console.log("\n Apply concat ");
+ console.log(concatenatedTraineeString);
+
+ let trimmedTraineeString = traineeString.trim(); // Trim whitespace from the beginning and end of the string
+ console.log("\n Apply trim ");
+ console.log(trimmedTraineeString);
+
+ let trimmedStartTraineeString = traineeString.trimStart(); // Trim whitespace from the beginning of the string
+ console.log("\n Apply trimStart ");
+ console.log(trimmedStartTraineeString);
+
+ let trimmedEndTraineeString = traineeString.trimEnd(); // Trim whitespace from the end of the string
+ console.log("\n Apply trimEnd ");
+ console.log(trimmedEndTraineeString);
+
+ let paddedTraineeString = traineeString.padStart(traineeString.length + 4, "*"); // Pad the string with a specified character from the beginning
+ console.log("\n Aplly Pad Start ");
+ console.log(paddedTraineeString);
+
+ let paddedEndTraineeString = traineeString.padEnd(
+ traineeString.length + 4,
+ "-"
+ ); // Pad the string with a specified character from the end
+ console.log("\n Apply padEnd ");
+ console.log(paddedEndTraineeString);
+
+ let charAtTraineeString = traineeString.charAt(0); // Get the character at a specific index of the string
+ console.log("\n Apply CharAt ");
+ console.log(charAtTraineeString);
+
+ let charCodeAtTraineeString = traineeString.charCodeAt(0); // Get the ASCII value of the character at a specific index of the string
+ console.log("\n Apply charCodeAt");
+ console.log(charCodeAtTraineeString);
+
+ let splitTraineeString = traineeString.split(","); // Split the string into an array based on a specified separator
+ console.log("\n Apply Split ");
+ console.log(splitTraineeString);
+
+ // Using Array methods
+
+ let traineesArray = [
+ "aliya",
+ "malika",
+ "mehmooda",
+ "mudeera",
+ "shahina",
+ "fatima",
+ "qamar",
+ "akbar",
+ "zakir",
+ "shehbaz",
+ "javed",
+ "tehzeeb",
+ ];
+
+ traineesArray.push("Amina"); // Add an element to the end of the array
+ console.log("\n Apply push ");
+ console.log(traineesArray);
+
+ traineesArray.unshift("Khadija"); // Add an element to the beginning of the array
+ console.log("\n Apply Unshift ");
+ console.log(traineesArray);
+
+ traineesArray.pop(); // Remove the last element from the array
+ console.log("\n Apply Pop ");
+ console.log(traineesArray);
+
+ traineesArray.shift(); // Remove the first element from the array
+ console.log("\n Apply Shift ");
+ console.log(traineesArray);
+
+ let slicedTraineesArray = traineesArray.slice(3, 7); // Slice a part of the array
+ console.log("\n Apply Slice ");
+ console.log(slicedTraineesArray);
+
+ let isArray = Array.isArray(traineesArray); // Check if the variable is an array
+ console.log("\n Apply is Array ");
+ console.log(isArray);
+
+ let arrayLength = traineesArray.length; // Get the length of the array
+ console.log("\n Apply Array Length ");
+ console.log(arrayLength);
+
+ let filteredTraineesArray = traineesArray.filter(
+ (trainee) => trainee.charAt(0) === "m"
+ ); // Filter elements based on a condition
+ console.log("\n Apply Filter");
+ console.log(filteredTraineesArray);
+
+ let mappedTraineesArray = traineesArray.map((trainee) => trainee.toUpperCase()); // Map elements to a new array based on a condition
+ console.log("\n Apply Map ");
+ console.log(mappedTraineesArray);
+
+ console.log("\n Apply Switch ");
+ switch (
+ traineesArray[0] // Use a switch statement
+ ) {
+ case "aliya":
+ console.log("First trainee is Aliya");
+ break;
+ case "malika":
+ console.log("First trainee is Malika");
+ break;
+ default:
+ console.log("First trainee is not Aliya or Malika");
+ break;
+ }
+
+ console.log("\n For Loop ");
+ let result = "";
+ for (let i = 0; i < traineesArray.length; i++) {
+ result += traineesArray[i] + " ";
+ }
+ console.log(result);
+
\ No newline at end of file
diff --git a/JS/method.js b/JS/method.js
new file mode 100644
index 00000000..eb13ab80
--- /dev/null
+++ b/JS/method.js
@@ -0,0 +1,53 @@
+
+// //array of trainees name
+// let trainees = [
+// "aliya",
+// "malika",
+// "mehmooda",
+// "mudeera",
+// "shahina",
+// "fatima",
+// "qamar",
+// "akbar",
+// "zakir",
+// "shehbaz",
+// "javed",
+// "tehzeeb",
+// ];
+
+// // console.log(trainees)
+// // let traineeString = trainees.join(" , "); // Convert array to a string separated by commas
+// // console.log("\n Apply join ");
+// // console.log(traineeString);
+
+// // let slicedTraineeString = traineeString.slice(0, 54); // Slice a part of the string
+// // console.log("\n Apply slice");
+// // console.log(slicedTraineeString);
+
+// let text = "5";
+// let padded = text.padStart(4,"0");
+// console.log(padded)
+
+let traineesArray = [
+ "aliya",
+ "malika",
+ "mehmooda",
+ "mudeera",
+ "shahina",
+ "fatima",
+ "qamar",
+ "akbar",
+ "zakir",
+ "shehbaz",
+ "javed",
+ "tehzeeb",
+];
+
+
+
+
+let filteredTraineesArray = traineesArray.filter(
+ (trainee) => trainee.charAt(0) === "m"
+); // Filter elements based on a condition
+console.log("\n Apply Filter");
+console.log(filteredTraineesArray);
\ No newline at end of file
diff --git a/JS/object.js b/JS/object.js
new file mode 100644
index 00000000..bfedea23
--- /dev/null
+++ b/JS/object.js
@@ -0,0 +1,87 @@
+// const job = {
+// position: 'cashier',
+// type: 'hourly',
+// isAvailable: true,
+// showDetails() {
+// const accepting = this.isAvailable ? 'is accepting applications' : "is not currently accepting applications";
+
+// console.log(`The ${this.position} position is ${this.type} and ${accepting}.`);
+// }
+// };
+
+// const vacancy = Object.create(job);
+
+// vacancy.position = "HR";
+// vacancy.showDetails();
+
+
+
+// const employees = {
+// boss: 'Michael',
+// secretary: 'Pam',
+// sales: 'Jim',
+// accountant: 'Oscar'
+// };
+
+// const keys = Object.keys(employees);
+
+// console.log(keys);
+
+
+// Initialize an object
+// const session = {
+// id: 1,
+// time: `26-July-2018`,
+// device: 'mobile',
+// browser: 'Chrome'
+// };
+
+// // Get all values of the object
+// const values = Object.values(session);
+
+// console.log(values);
+
+
+// // Initialize an object
+// const operatingSystem = {
+// name: 'Ubuntu',
+// version: 18.04,
+// license: 'Open Source'
+// };
+
+// // Get the object key/value pairs
+// const entries = Object.entries(operatingSystem);
+
+// console.log(entries);
+
+// Initialize an object
+// const name = {
+// firstName: 'Philip',
+// lastName: 'Fry'
+// };
+
+// // Initialize another object
+// const details = {
+// job: 'Delivery Boy',
+// employer: 'Planet Express'
+// };
+
+// // Merge the objects
+// const character = Object.assign(name, details);
+
+// console.log(character);
+
+
+// Initialize an object
+const user = {
+ username: 'AzureDiamond',
+ password: 'hunter2'
+};
+
+// Freeze the object
+const newUser = Object.freeze(user);
+
+newUser.password = 'wwwwwww'
+newUser.active = true;
+
+console.log(newUser);
\ No newline at end of file
diff --git a/JS/operators.js b/JS/operators.js
new file mode 100644
index 00000000..c964e7c3
--- /dev/null
+++ b/JS/operators.js
@@ -0,0 +1,10 @@
+let a =10 ;
+let b = "10"
+let c = a+b ;
+let d = a+a;
+
+
+if (!(c == d) ){
+ console.log("true")
+}else
+console.log("false")
\ No newline at end of file
diff --git a/JS/variables.js b/JS/variables.js
new file mode 100644
index 00000000..59394296
--- /dev/null
+++ b/JS/variables.js
@@ -0,0 +1,12 @@
+// var num1 = 10 ;
+// var num1 = 20 ;
+// console.log(num1)
+
+let Trainee = {
+ age: 20,
+ name: "waseem ",
+ email: "test@email.com",
+ $: "ee"
+}
+console.log(Trainee)
+
diff --git a/Practice/DOM.js b/Practice/DOM.js
new file mode 100644
index 00000000..544e42ec
--- /dev/null
+++ b/Practice/DOM.js
@@ -0,0 +1,43 @@
+console.log("Hello World")
+/*
+document.body
+document.body.childNodes
+document.body.childNodes[0]//first space between and first div will select(TEXT)
+ocument.body.childNodes[1].childNodes// (Text,Div) because of space in div
+let cont=document.body.childNodes[1]
+ cont.firstchild //Gves 1sr node and also access lastchild
+
+ //To eleminate the text and want to select the first div
+ cont.firstelementchild
+ cont.lastelementchild.style.backgroundcolor="red"
+ cont.lastelementchild.parenelement //back to refer parent
+
+ //Previoud Element Sibling
+ document.body.firselementchild //div.container
+ document.body.firselementchild.childnode //(text,comment,textnode)
+ document.body.firstElementChild.children//All element nodes
+ document.body.firstElementChild.children[0]
+ document.body.firstElementChild.children[1].nextElementSibling
+ document.body.firstElementChild.children[2].previousElementSibling
+
+ */
+
+//Lecture: 68 IDS etc
+let boxes=document.getElementsByClassName("box")
+console.log(boxes)
+boxes[1].style.backgroundColor="red" //which change the index
+document.getElementById("newbox").style.backgroundColor="green" //Now only target specfic id
+
+//Query Selector
+document.querySelector(".box").style.backgroundColor="black"; //only change first match
+
+// document.querySelectorAll(".box").forEach(e=>
+// {
+// e.style.backgroundColor="blue"
+// }
+// )
+
+document.getElementsByName("div") //returns all div (returns html collection)
+
+
+
diff --git a/Practice/arrays.js b/Practice/arrays.js
new file mode 100644
index 00000000..86f04a55
--- /dev/null
+++ b/Practice/arrays.js
@@ -0,0 +1,117 @@
+let arr=[1,2,3,5,7,8]
+console.log(arr)
+
+console.log("Length: ",arr.length)
+console.log(arr[0])
+console.log(arr[4])
+
+arr[2]=12; //Array can be changed(mutable)
+
+console.log("updated array: ",arr) //type of array is object
+
+console.log(arr.toString())
+
+//JOIN
+
+console.log(arr.join(" and ")) //where is comma wll replace with "and"
+let a=[1,2,3,4]
+console.log(a.pop()) //Last element is pop out from orginal array
+
+a.push(100)
+a.push("Noori")
+console.log(a)
+
+a.shift() //will pop out first index to orginal array
+console.log("Shift (pop): ",a)
+a.unshift("Add") //will add at first of orginal array
+console.log("UnShift (push): ",a)
+
+//CONCATINATION
+let a1=[1,6,7,4]
+let a2=[5,2,3,8]
+let a3=[9,10]
+console.log(a1.concat(a2,a3))
+
+console.log("Sort: ",a1.sort())
+
+// SPLCE used for adding and removing elements from 1 position
+let a4=[1,2,3,4,5,6]
+a4.splice(1,2) //(starts,how much to delete)
+console.log("Splice: ",a4)
+
+let a5=[1,2,3,4,5,6]
+ a5.splice(1,2,22,33)//remove forst 2 and add other 2 inplace of that
+ console.log("Splice(add): ",a5)
+//SLICE
+const a6=[1,2,3,4,5,6,7,8]
+console.log("Slice1: ",a6.slice(3)) // delete ([0],[1]) from only function
+console.log("Slice2: ",a6.slice(0,2)) //Only this index will shown
+
+let a7=[1,56,2,4,88]
+for (let i = 0; i < a7.length; i++) {
+ const element = a7[i];
+ console.log(element)
+}
+
+console.log("FOR EACH LOOP:")
+ a7.forEach((value,inedx,arr) => {
+ console.log("Value: ",value," Index: ",inedx," Array:",arr)
+ })
+
+ //FOR In
+let obj=
+{
+ a: 1,
+ b: 2,
+ c: 3
+}
+
+for (const key in obj) {
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
+ const element = obj[key];
+ console.log(key,element)
+
+ }
+}
+
+//FOR_OF
+console.log("FOR_OF")
+for (const value of a7) {
+ console.log(value)
+}
+//MAP
+console.log("MAP")
+
+let a8=[2,4,6,8,10]
+let newarray=[]
+/*
+for (let i = 0; i < a8.length; i++) {
+ const element = a8[i];
+ newarray.push(element**2)
+}
+console.log(newarray)*/
+newarray= a8.map((e)=>{
+ return e**2
+})
+console.log(newarray)
+
+//Can be used as map(element,index,Array)
+
+//Filter:*
+console.log("Filter")
+const check_no=(no)=>{
+ if (no>50)
+ return true
+ else
+ return false
+}
+console.log(newarray.filter(check_no))
+
+//Reduce Function
+let a9=[1,2,3,4,5]
+ const red=(a,b)=>{
+return a*b; //we can also use add
+ }
+ console.log("Reduce",a9.reduce(red)) //1x2=2x3=6x4....
+
+ console.log(Array.from("SHAHID")) //convert into array
diff --git a/Practice/callbacks.js b/Practice/callbacks.js
new file mode 100644
index 00000000..cdaa7dd6
--- /dev/null
+++ b/Practice/callbacks.js
@@ -0,0 +1,10 @@
+//CALL BACK
+
+// ASYNCRONOUS OF JS
+console.log("I am First line")
+console.log("I am Second line")
+setTimeout(() => {
+ console.log("I am inside Timeout")
+
+}, 2000); //this will execute after all others
+console.log("The End")
diff --git a/Practice/conditionals.js b/Practice/conditionals.js
new file mode 100644
index 00000000..6585e7f4
--- /dev/null
+++ b/Practice/conditionals.js
@@ -0,0 +1,25 @@
+//install code runner
+let age=5;
+if (age>18)
+ {
+ console.log("You are Adult");
+ }
+else
+{
+ console.log("You are Below the Age");
+}
+
+//Ternary Operator
+a=9;
+b=6;
+c=a>b?(a-b):(b-a)
+//Translate Below
+/*if (a>b)
+ {
+ let c=a-b;
+ }
+else {
+ let c=a-b
+}
+*/
+
diff --git a/Practice/dom(ids).html b/Practice/dom(ids).html
new file mode 100644
index 00000000..4a7e3b33
--- /dev/null
+++ b/Practice/dom(ids).html
@@ -0,0 +1,29 @@
+
+
+
+
+
+ Selecting by IDs..
+
+
+
+
+
BOX-1
+
BOX-2
+
BOX-3
+
BOX-4
+
BOX-5
+
+
+
+
+
\ No newline at end of file
diff --git a/Practice/dom(ids).js b/Practice/dom(ids).js
new file mode 100644
index 00000000..41d8647b
--- /dev/null
+++ b/Practice/dom(ids).js
@@ -0,0 +1,17 @@
+
+let boxes=document.getElementsByClassName("box")
+console.log(boxes)
+
+// boxes[2].style.backgroundColor="red"
+document.getElementById("box-3").style.backgroundColor="red"
+
+//QUERY SELECTOR
+document.querySelector(".box") //Select only the 1st box which class is "box"
+document.querySelector(".box").style.backgroundColor="green"
+
+/* document.querySelectorAll(".box").forEach(e=>{e.style.backgroundColor="blue"}) //Select all boxes which class is "box" but returns html collection, we need to specify to apply changes so we use for loop*/
+
+//BY TAG NAME:
+document.getElementsByTagName("div") //returns all div as HTML collection
+//
+
diff --git a/Practice/dom.html b/Practice/dom.html
new file mode 100644
index 00000000..8ad15e96
--- /dev/null
+++ b/Practice/dom.html
@@ -0,0 +1,35 @@
+
+
+
+ DOM JS
+
+
+
+
+
Box1
+
Box2
+
New Box
+
Box3
+
box4
+
box5
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Practice/events.html b/Practice/events.html
new file mode 100644
index 00000000..41a31682
--- /dev/null
+++ b/Practice/events.html
@@ -0,0 +1,68 @@
+
+
+
+
+
+ Events in JS
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Practice/events.js b/Practice/events.js
new file mode 100644
index 00000000..2b87b4ff
--- /dev/null
+++ b/Practice/events.js
@@ -0,0 +1,11 @@
+let button=document.getElementById("btn")
+button.addEventListener("click",()=>{
+ document.querySelector(".box").innerHTML="Modified by the CLick"
+})
+//serach browser events mdn for more exploration (mouse and keyboard events)
+
+/*
+EVENT BUBBLING**
+written in html
+ */
+
diff --git a/Practice/functions.js b/Practice/functions.js
new file mode 100644
index 00000000..116252b3
--- /dev/null
+++ b/Practice/functions.js
@@ -0,0 +1,28 @@
+function displays()
+{
+console.log("I am simple funtion")
+}
+ displays() //Calling Function
+
+function praise(name)
+{
+ console.log("Hey "+ name +" you are Good")
+ console.log("Hey "+ name +" you are Nice")
+ console.log("Hey "+ name +" you are Handsome")
+}
+praise("Shahid")
+praise("Shehzad")
+
+//ARGUMENTATIVE FUNTION
+function sum(a,b)
+{
+ return a+b;
+}
+console.log("Sum : " ,sum(5,6))
+
+const func1=(x)=>{
+ console.log("Arrow Funtion ",x)
+}//can be reused and can be used variable
+func1(23)
+func1(20)
+func1(80)
\ No newline at end of file
diff --git a/Practice/inserting.html b/Practice/inserting.html
new file mode 100644
index 00000000..dcf5c2ac
--- /dev/null
+++ b/Practice/inserting.html
@@ -0,0 +1,24 @@
+
+
+
+
+
+ Inserting and Removing by JS
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Practice/inserting.js b/Practice/inserting.js
new file mode 100644
index 00000000..d6659299
--- /dev/null
+++ b/Practice/inserting.js
@@ -0,0 +1,36 @@
+document.querySelector(".box")
+document.querySelector(".box").innerHTML
+document.querySelector(".box").innerText
+document.querySelector(".contianer").innerText //only inner contains wills show
+
+document.querySelector(".container").outerHTML
+//OUTPUT: ''
+document.querySelector(".container").tagName//only for elements
+document.querySelector(".container").nodeName //for all nodes
+document.querySelector(".container").textContent
+
+document.querySelector(".container").hidden=true //to hide the box
+document.querySelector(".box").innerHTML="can modify the text content"
+
+/*
+.hasAttribute("style")
+.setAttribute("style","display: inline") //changes in style
+document.querySelector(".box").attributes
+document.querySelector(".box").removeAttribute("style")
+*/
+
+//INSERTION
+ let div=document.createElement("div");
+ div.innerHTML="I have been created by JS";
+ div.setAttribute("class","created");
+ document.querySelector(".container").append(div) //insert on last their are so many other options
+
+ let cont=document.querySelector(".container")
+ cont.insertAdjacentHTML("afterend","I am the html written by JS") //many options
+
+document.querySelector(".container").classList/className //to get all class name of "container"
+document.querySelector(".container").classList.add("1st container")
+document.querySelector(".container").classList.remove("1st container")
+document.querySelector(".container").classList.toggle("noori") //if contains then remove and vice versa
+
+
diff --git a/Practice/interval.html b/Practice/interval.html
new file mode 100644
index 00000000..2fd38fc0
--- /dev/null
+++ b/Practice/interval.html
@@ -0,0 +1,34 @@
+
+
+
+
+
+ Interval
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Practice/interval.js b/Practice/interval.js
new file mode 100644
index 00000000..11341372
--- /dev/null
+++ b/Practice/interval.js
@@ -0,0 +1,16 @@
+function GetRandomColor(){
+ let val1=Math.ceil(0+Math.random()+255);
+ let val2=Math.ceil(0+Math.random()+255);
+ let val3=Math.ceil(0+Math.random()+255);
+ return `rgb(${val1},${val2},${val3})`
+}
+
+setInterval(() => {
+ document.querySelector(".childcontainer").style.background=GetRandomColor()
+}, 1000); //a fucntion while takes fucntion and a time as argument
+/*clearInterval(1) //the return number of setinterval
+*/
+setTimeout(() => {
+ document.querySelector(".childcontainer").style.backgroundColor="Red"
+}, 3000);
+// clearTimeout(1)
\ No newline at end of file
diff --git a/Practice/loops.js b/Practice/loops.js
new file mode 100644
index 00000000..30d3a63a
--- /dev/null
+++ b/Practice/loops.js
@@ -0,0 +1,29 @@
+for(let i=0;i<10;i++)
+ {
+ console.log("printing :",i);
+ }
+
+let obj = {
+ name: "Shahid",
+ role: "Programmer",
+ company: "Noori Tech"
+ }
+//For In Loop
+ for (const key in obj) {
+ const element=obj[key]
+ console.log(key,element)
+ }
+
+ //For Of Loop
+ for (const c of "Shahid") {
+ console.log(c);
+ }
+
+ //While Loop
+ let i=2;
+ while(i<6)
+ {
+ console.log("While no: ",i)
+ i++;
+ }
+//Do-While Same as C++
diff --git a/Practice/strings.js b/Practice/strings.js
new file mode 100644
index 00000000..605de687
--- /dev/null
+++ b/Practice/strings.js
@@ -0,0 +1,38 @@
+let naam="Shahid"
+console.log(naam)
+
+console.log(naam[0])
+console.log(naam[1])
+console.log(naam[2])
+console.log(naam[3])
+console.log(naam[4])
+console.log(naam[5])
+// console.log(naam[6]) //undefind no character
+console.log(naam.length) //length
+
+//Template Litrals
+let name="noori"
+let friend="Shehzad"
+console.log("his name is "+name+" and his friend is "+friend)
+console.log(`His name is ${name} and his friend name is ${friend}`)
+
+let d="Skardu"
+console.log(d.toUpperCase())
+console.log(d.toLowerCase())
+console.log(d.length)
+
+//SLICE*
+ let e="Zinger"
+ console.log(e.slice(1,4)) //4 is not include
+ console.log(e.slice(1)) //After 1 to onward all will give
+
+ console.log(e.replace("Z","G"))
+
+ console.log(e.concat(d))
+ console.log(e.concat(" Khana hai"," Garma Garam"))
+//After all of this the string of orginal can never changed
+
+console.log(e.charAt(2))
+console.log(e.indexOf("g"))
+
+e.startsWith("G") //False
\ No newline at end of file
diff --git a/Practice/variables.js b/Practice/variables.js
new file mode 100644
index 00000000..1d8ac3bd
--- /dev/null
+++ b/Practice/variables.js
@@ -0,0 +1,20 @@
+// We don't use var mostly
+//Var is Global and redeclared and reassigned
+var a=5;
+var b=9;
+console.log(a+b)
+var c="Shahid";
+console.log(c)
+console.log(typeof a,typeof c)
+//Let can only be reintilized Mostly used
+let num1=100;
+let num2=500;
+console.log(num1+num2)
+let n="Shahid"
+console.log(n)
+
+//const can never be cahnaged
+ const pi=3.14;
+ console.log(pi)
+
+
\ No newline at end of file
diff --git a/flex.html b/flex.html
index a06040a0..fe343919 100644
--- a/flex.html
+++ b/flex.html
@@ -3,30 +3,50 @@
- Flex
+ Display Property
-
+
+
Box-1
+
Box-2
+
Box-3
+
Box-4
+
+
+
\ No newline at end of file
diff --git a/form.html b/form.html
index 7a799cc6..1e730371 100644
--- a/form.html
+++ b/form.html
@@ -4,6 +4,23 @@
Form
+
Welcome to Entry Form
diff --git a/index.html b/index.html
new file mode 100644
index 00000000..a8acb8b1
--- /dev/null
+++ b/index.html
@@ -0,0 +1,10 @@
+
+
+
+
+
Document
+
+
+
+dfdsfdsfdsds
+fddg
\ No newline at end of file
diff --git a/jawad.txt b/jawad.txt
new file mode 100644
index 00000000..35ddae82
--- /dev/null
+++ b/jawad.txt
@@ -0,0 +1 @@
+jawad
\ No newline at end of file
diff --git a/js(intermidate).js b/js(intermidate).js
index 728deed7..3240103e 100644
--- a/js(intermidate).js
+++ b/js(intermidate).js
@@ -19,4 +19,56 @@ var nam="my Name is Shahid hussain."
console.log(nam.toUpperCase());
console.log(nam.toLowerCase());
+//ARRAYs
+console.log("Arrays In JS")
+const cars = ["Saab", "Volvo", "BMW"];
+console.log(cars) //printing all array elements
+
+let courses=["HTML","CSS","Javascript","React"]
+console.log(courses[0])
+console.log(courses[1])
+console.log(courses[2])
+console.log(courses[3])
+//overwrite element with index
+courses[1]= "Bootstrap";
+console.log(courses);
+//for length
+console.log(courses.length)
+
+// Iterating through for loop
+console.log("IN LOOP")
+for (let i = 0; i < courses.length; i++)
+ {
+ console.log(courses[i])
+}
+//Array Concotation
+let other_array=["Reacct","Express"]
+concat_array=courses.concat(other_array)
+console.log(concat_array)
+
+// Convert array ot String
+console.log("TO String: ")
+console.log(courses.toString());
+
+//FUNCTIONS
+function MyFunc()
+{
+ console.log("Hello Function")
+}
+MyFunc() //Calling Function
+function MyFunc(first,second)
+{
+ console.log("First Name: ",first);
+ console.log("Last Name: ",second);
+}
+MyFunc("Shahid","Noori")
+
+//Objects
+let Std=
+{
+ name: "Shahid Hussain",
+ age: 19
+
+}
+console.log(Std)
diff --git a/js.js b/js.js
new file mode 100644
index 00000000..b80aee4e
--- /dev/null
+++ b/js.js
@@ -0,0 +1,17 @@
+function MyFunc(a,b,c,others)
+{
+console.log(a,b,c,others);
+}
+
+MyFunc(1,2,3,4);
+
+let myPromise = new Promise(function(myResolve, myReject) {
+ myResolve(); // when successful
+ myReject(); // when error
+ });
+
+ // "Consuming Code" (Must wait for a fulfilled Promise)
+ myPromise.then(
+ function(value) { /* code if successful */ },
+ function(error) { /* code if some error */ }
+ );
diff --git a/js_test.js b/js_test.js
new file mode 100644
index 00000000..1e702512
--- /dev/null
+++ b/js_test.js
@@ -0,0 +1,13 @@
+// var global="Shahid";
+// var global="Noori"
+// console.log(global)
+// let name="Shahid";
+// name="a" //can be updated
+// console.log(name);
+// let text="Shahid"
+// let texts=text.split("")
+// console.log(texts)
+const org=[1,2,3,4];
+const n=[...org];
+console.log(org);
+console.log(n);
diff --git a/resources/Backend-Development Guide.pdf b/resources/Backend-Development Guide.pdf
new file mode 100644
index 00000000..0765f4a4
Binary files /dev/null and b/resources/Backend-Development Guide.pdf differ
diff --git a/resources/CSS Cheat Sheet .pdf b/resources/CSS Cheat Sheet .pdf
new file mode 100644
index 00000000..e96c5d65
Binary files /dev/null and b/resources/CSS Cheat Sheet .pdf differ
diff --git a/resources/CSS Cheat Sheet.pdf b/resources/CSS Cheat Sheet.pdf
new file mode 100644
index 00000000..c0cd6ab2
Binary files /dev/null and b/resources/CSS Cheat Sheet.pdf differ
diff --git a/resources/Full Stack(frontend + backend) Roadmap.pdf b/resources/Full Stack(frontend + backend) Roadmap.pdf
new file mode 100644
index 00000000..371d8837
Binary files /dev/null and b/resources/Full Stack(frontend + backend) Roadmap.pdf differ
diff --git a/resources/Javascript Development Guide.pdf b/resources/Javascript Development Guide.pdf
new file mode 100644
index 00000000..8b356199
Binary files /dev/null and b/resources/Javascript Development Guide.pdf differ
diff --git a/resources/MERN Stack (react + node) Roadmap.pdf b/resources/MERN Stack (react + node) Roadmap.pdf
new file mode 100644
index 00000000..1d4a45c6
Binary files /dev/null and b/resources/MERN Stack (react + node) Roadmap.pdf differ
diff --git a/resources/MERN Stack Guide.pdf b/resources/MERN Stack Guide.pdf
new file mode 100644
index 00000000..11824ba4
Binary files /dev/null and b/resources/MERN Stack Guide.pdf differ
diff --git a/resources/MERN Stack Overview .pdf b/resources/MERN Stack Overview .pdf
new file mode 100644
index 00000000..b5833ee4
Binary files /dev/null and b/resources/MERN Stack Overview .pdf differ
diff --git a/resources/ReactJS-Guide.pdf b/resources/ReactJS-Guide.pdf
new file mode 100644
index 00000000..b814ee72
Binary files /dev/null and b/resources/ReactJS-Guide.pdf differ
diff --git a/resources/git fundamentals.pdf b/resources/git fundamentals.pdf
new file mode 100644
index 00000000..47e50a48
Binary files /dev/null and b/resources/git fundamentals.pdf differ
diff --git a/resources/javascript cheatsheet.pdf b/resources/javascript cheatsheet.pdf
new file mode 100644
index 00000000..bae9aa5e
Binary files /dev/null and b/resources/javascript cheatsheet.pdf differ
diff --git a/style.css b/style.css
new file mode 100644
index 00000000..e0ee6198
--- /dev/null
+++ b/style.css
@@ -0,0 +1,6 @@
+*{
+ background: none;
+}
+#body{
+ background-image: none;
+}
\ No newline at end of file