Rumah > hujung hadapan web > tutorial js > Coretan Kod Javascript

Coretan Kod Javascript

WBOY
Lepaskan: 2024-08-30 21:00:10
asal
435 orang telah melayarinya

Javascript Code Snippets

Jenis data

Jenis Data Primitif

Nombor

let age = 25; 
Salin selepas log masuk

Rentetan

let name = "John";
Salin selepas log masuk

Boolean

let isStudent = true;
Salin selepas log masuk

Tidak ditentukan:

let address;
Salin selepas log masuk

Batal

let salary = null;
Salin selepas log masuk

Simbol

let sym = Symbol("id");
Salin selepas log masuk

BigInt

let bigIntNumber = 1234567890123456789012345678901234567890n;
Salin selepas log masuk

Bukan Nombor (NaN)
NaN bermaksud "Not-a-Number" dan mewakili nilai yang bukan nombor sah

console.log(0 / 0); // NaN
console.log(parseInt("abc")); // NaN
Salin selepas log masuk

Bagaimana untuk menyemak jenis data?

console.log(typeof a);
Salin selepas log masuk

Kelas

1) Kelas hanya boleh mempunyai satu pembina

class gfg {
    constructor(name, estd, rank) {
        this.n = name;
        this.e = estd;
        this.r = rank;
    }

    decreaserank() {
        this.r -= 1;
    }
}

const test = new gfg("tom", 2009, 43);

test.decreaserank();

console.log(test.r);
console.log(test);
Salin selepas log masuk

Warisan

class car {
    constructor(brand) {
        this.carname = brand;
    }

    present() {
        return 'I have a ' + this.carname;
    }
}
class Model extends car {
    constructor(brand, model) {
        super(brand);
        super.present();
        this.model = model;
    }

    show() {
        return this.present() + ', it is a ' + this.model;
    }
}
Salin selepas log masuk

Dapatkan dan Tetapkan

class car {
    constructor(brand) {
        this.carname = brand;
    }

    // Getter method
    get cnam() {
        return "It is " + this.carname;  // Return a value
    }

    // Setter method
    set cnam(x) {
        this.carname = x;
    }
}

const mycar = new car("Ford");
console.log(mycar.cnam);
Salin selepas log masuk

Ungkapan Fungsi Dipanggil Serta-merta (IIFE)

IIFE ialah fungsi yang berjalan sebaik sahaja ia ditakrifkan

(function() {
    console.log("IIFE executed!");
})();
Salin selepas log masuk

Fungsi Pesanan Tinggi

Fungsi tertib tinggi ialah fungsi yang mengambil fungsi lain sebagai argumen atau mengembalikan fungsi sebagai hasilnya

function higherOrderFunction(callback) {
    return callback();
}

function sayHello() {
    return "Hello!";
}

console.log(higherOrderFunction(sayHello)); // "Hello!"
Salin selepas log masuk

Pembayang Pembolehubah

Pembayangan Pembolehubah berlaku apabila pembolehubah tempatan mempunyai nama yang sama dengan pembolehubah dalam skop luar.
Pembolehubah tempatan mengatasi atau menyembunyikan pembolehubah luar dalam skopnya sendiri.
Pembolehubah luar kekal utuh dan boleh diakses di luar skop setempat.

var name = "John";

function sayName() {
  console.log(name);
  var name = "Jane";
}

sayName();
Salin selepas log masuk

Mengakses Elemen HTML dalam JavaScript

Terdapat beberapa cara untuk mengakses elemen HTML dalam JavaScript:

Pilih elemen mengikut ID:

document.getElementById("elementId");
Salin selepas log masuk

Pilih elemen mengikut Nama Kelas:

document.getElementsByClassName("className");
Salin selepas log masuk

Pilih elemen mengikut Nama Tag:

document.getElementsByTagName("tagName");
Salin selepas log masuk

Pemilih css:

document.querySelector(".className");
document.querySelectorAll(".className");
Salin selepas log masuk

Lulus nilai

function changeValue(x) {
  x = 10;
  console.log("Inside function:", x)
}

let num = 5;
changeValue(num);
Salin selepas log masuk

Lulus dengan rujukan

function changeProperty(obj) {
  obj.name = "Alice";
  console.log("Inside function:", obj.name); // Output: Inside function: Alice
}

let person = { name: "Bob" };
changeProperty(person);
console.log("Outside function:", person.name); // Output: Outside function: Alice
Salin selepas log masuk

menggunakan ketat

Ia menukar enjin JavaScript kepada mod ketat, yang menangkap kesilapan pengekodan biasa dan membuang lebih banyak pengecualian.

"use strict";
x = 10; // Throws an error because x is not declared
Salin selepas log masuk

Pengendali penyebaran

Ia membenarkan leteran seperti tatasusunan atau rentetan dikembangkan di tempat di mana sifar atau lebih argumen atau elemen dijangka

function sum(a, b, c) {
    return a + b + c;
}

const numbers = [1, 2, 3];
console.log(sum(...numbers)); // Output: 6
Salin selepas log masuk

InstanceOf

Pengendali menyemak sama ada objek ialah tika bagi kelas atau fungsi pembina tertentu.

class Animal {
  constructor(name) {
    this.name = name;
  }
}

class Dog extends Animal {
  constructor(name, breed) {
    super(name);
    this.breed = breed;
  }
}

const myDog = new Dog('Buddy', 'Golden Retriever');

console.log(myDog instanceof Dog);   // true
console.log(myDog instanceof Animal); // true
console.log(myDog instanceof Object); // true
console.log(myDog instanceof Array);  // false
Salin selepas log masuk

Penapis

Kaedah ini mencipta tatasusunan baharu dengan semua elemen yang lulus ujian yang dilaksanakan oleh fungsi yang disediakan.

const numbers = [1, 2, 3, 4, 5, 6];

const evenNumbers = numbers.filter(num => num % 2 === 0);

console.log(evenNumbers); // [2, 4, 6]
Salin selepas log masuk

Kurangkan

Kaedah ini melaksanakan fungsi pengurang pada setiap elemen tatasusunan, menghasilkan satu nilai output.

const numbers = [1, 2, 3, 4, 5];

const sum = numbers.reduce((sum, value) => sum + value, 0);
// sum = 0 initially

console.log(sum); // 15
Salin selepas log masuk

Rehat

Sintaks parameter ini membenarkan fungsi menerima bilangan argumen yang tidak ditentukan sebagai tatasusunan.

function sum(...numbers) {
  return numbers.reduce((sum, value) => sum + value, 0);
}

console.log(sum(1, 2, 3)); // 6
console.log(sum(5, 10, 15, 20)); // 50
Salin selepas log masuk

Jenis Pengisytiharan

Pembolehubah Global Tersirat
Pembolehubah global tersirat ialah pembolehubah yang dicipta secara automatik dalam skop global apabila ia diberikan nilai tanpa diisytiharkan secara eksplisit dengan kata kunci seperti var, let atau const. Tetapi ini menimbulkan ralat jika ia berada dalam mod Ketat

function myFunction() {
    x = 10; // no error
}
Salin selepas log masuk

konst
Ia mengisytiharkan pembolehubah malar yang tidak boleh ditetapkan semula.

const PI = 3.14;
Salin selepas log masuk

biar
Ia mengisytiharkan pembolehubah berskop blok.
Ia tidak boleh dimulakan semula dengan nama yang sama

let c=1;
let c=3;// throws error
let count = 0;
if (true) {
    let count = 1;
    console.log(count); // Output: 1
}
console.log(count); // Output: 0
Salin selepas log masuk

var
Ia mengisytiharkan pembolehubah berskop fungsi atau berskop global. Ia menggalakkan pengangkatan dan penugasan semula.

var name = 'John';
if (true) {
    var name = 'Doe';
    console.log(name); // Output: Doe
}
console.log(name); // Output: Doe

console.log(a)
var a=2 // prints undefined
Salin selepas log masuk

Peristiwa Sintetik

Acara Sintetik: React menyediakan pembalut SyntheticEvent di sekitar acara penyemak imbas asli. Pembalut ini menormalkan sifat dan tingkah laku acara merentas penyemak imbas yang berbeza, memastikan kod pengendalian acara anda berfungsi dengan cara yang sama tanpa mengira penyemak imbas.

import React from 'react';

class MyComponent extends React.Component {
  handleClick = (event) => {
    // `event` is a SyntheticEvent
    console.log(event.type); // Always 'click' regardless of browser
    console.log(event.target); // Consistent target property
  }

  render() {
    return <button onClick={this.handleClick}>Click Me</button>;
  }
}
Salin selepas log masuk

Mengangkat dalam JavaScript

Hoisting ialah mekanisme JavaScript di mana pembolehubah dan pengisytiharan fungsi dialihkan ke bahagian atas skop kandungannya semasa fasa penyusunan, membolehkannya digunakan sebelum ia diisytiharkan dalam kod. Walau bagaimanapun, hanya pengisytiharan yang dinaikkan, bukan permulaan.

console.log(x); // Output: undefined
var x = 5;
console.log(x); // Output: 5

// Function hoisting
hoistedFunction(); // Output: "Hoisted!"
function hoistedFunction() {
    console.log("Hoisted!");
}

// Function expressions are not hoisted
notHoisted(); // Error: notHoisted is not a function
var notHoisted = function() {
    console.log("Not hoisted");
};
Salin selepas log masuk

Jenis paksaan

Ia ialah penukaran nilai automatik daripada satu jenis data kepada yang lain. Terdapat dua jenis paksaan: tersirat dan eksplisit.

Paksaan Tersirat

Cth.

let result = 5 + "10"; // "510"
let result = "5" * 2; // 10
let result = "5" - 2; // 3
let result = "5" / 2; // 2.5
Salin selepas log masuk

Paksaan Eksplisit

Ia berlaku apabila kita menukar nilai secara manual daripada satu jenis kepada jenis lain menggunakan fungsi terbina dalam.

let num = 5;
let str = String(num); // "5"
let str2 = num.toString(); // "5"
let str3 = `${num}`; // "5"
Salin selepas log masuk

Truthy Values

Non-zero numbers (positive and negative)
Non-empty strings
Objects (including arrays and functions)
Symbol
BigInt values (other than 0n)

Falsy Values

0 (zero)
-0 (negative zero)
0n (BigInt zero)
"" (empty string)
null
undefined
NaN (Not-a-Number)

Props (Properties)

To pass data from a parent component to a child component. It is immutable (read-only) within the child component.

// Parent Component
function Parent() {
  const data = "Hello from Parent!";
  return <Child message={data} />;
}

// Child Component
function Child(props) {
  return <div>{props.message}</div>;
}
Salin selepas log masuk

State

To manage data that can change over time within a component. It is mutable within the component.

// Function Component using useState
import { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0);

  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={() => setCount(count + 1)}>Increment</button>
    </div>
  );
}
Salin selepas log masuk

Closure

A closure in JavaScript is a feature where an inner function has access to the outer (enclosing) function's variables and scope chain even after the outer function has finished executing.

function outerFunction(outerVariable) {
  return function innerFunction(innerVariable) {
    console.log('Outer Variable:', outerVariable);
    console.log('Inner Variable:', innerVariable);
  };
}

const newFunction = outerFunction('outside');
newFunction('inside');
Salin selepas log masuk

Currying

Currying is a technique of transforming a function that takes multiple arguments into a sequence of functions that each take a single argument.

function add(a) {
  return function(b) {
    return a + b;
  };
}

const add5 = add(5);
console.log(add5(3)); // Output: 8
console.log(add(2)(3)); // Output: 5
Salin selepas log masuk

Generators

Generators are special functions that can be paused and resumed, allowing you to generate a sequence of values over time.

function* generateSequence() {
  yield 1;
  yield 2;
  yield 3;
}

const generator = generateSequence();

console.log(generator.next()); // { value: 1, done: false }
console.log(generator.next()); // { value: 2, done: false }
console.log(generator.next()); // { value: 3, done: false }
console.log(generator.next()); // { value: undefined, done: true }
Salin selepas log masuk

Stay Connected!
If you enjoyed this post, don’t forget to follow me on social media for more updates and insights:

Twitter: madhavganesan
Instagram: madhavganesan
LinkedIn: madhavganesan

Atas ialah kandungan terperinci Coretan Kod Javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan