[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/A_re-introduction_to_JavaScript [Back]  [Original]

JavaScript - JavaScript | MDN

MDN Web Docs

View in English Always switch to English

JavaScript

JavaScript Java C JavaScriptJavaScript

JavaScript C Java

JavaScript JavaScript 7

JavaScript

JavaScript Number BigInt

Number IEEE 754 64 -(253 1) 253 1 1.79 10308 number JavaScript

js
console.log(3 / 2); // 1.5 1

IEEE 754

js
console.log(0.1 + 0.2); // 0.30000000000000004

number 32

Number

js
console.log(0b111110111); // 503
console.log(0o767); // 503
console.log(0x1f7); // 503
console.log(5.03e2); // 503

BigInt C BigInt number n

js
console.log(-3n / 2n); // -1n

BigInt number

Math

js
Math.sin(3.5);
const circumference = 2 * Math.PI * r;

number

+ Number()

number NaNNot a Number Infinity NaN Math.log() Infinity

NaN NaNNaN JavaScript IEEE 754

JavaScript Unicode UTF-16

js
console.log("Hello, world");
console.log(""); //  Unicode 

JavaScript

js
console.log("Hello"[1] === "e"); // true

length

+ Python f-string C#

js
const age = 25;
console.log("I am " + age + " years old."); // 
console.log(`I am ${age} years old.`); // 

JavaScript null null undefined undefined

  • return return; undefined
  • obj.iDontExist undefined
  • let x; undefined

JavaScript true false

  1. false0""NaNnull undefined false
  2. true

Boolean()

js
Boolean(""); // false
Boolean(234); // true

JavaScript if true false

&&||!

symbol Symbol() symbol symbol symbol symbol

JavaScript letconstvar

let

js
let a;
let name = "Simon";

// myLetVariable **

for (let myLetVariable = 0; myLetVariable < 5; myLetVariable++) {
  // myLetVariable 
}

// myLetVariable **

const

js
const Pi = 3.14; //  Pi
console.log(Pi); // 3.14

const

js
const Pi = 3.14;
Pi = 1; // 

const

js
const obj = {};
obj.a = 1; // 
console.log(obj); // { a: 1 }

var JavaScript var

undefined const

let const

js
function foo(x, condition) {
  if (condition) {
    console.log(x);
    const x = 2;
    console.log(x);
  }
}

foo(1, true);

12 const x = 2 x x JavaScript console.log Cannot access 'x' before initialization let

JavaScript let

js
let a = 1;
a = "foo";

JavaScript +-*/% ** = += -= x = x operator y

js
x += 5;
x = x + 5;

++ --

+

js
"" + ""; // ""

number

js
"3" + 4 + 5; // "345"
3 + 4 + "5"; // "75"

JavaScript <><= >=

js
123 == "123"; // true
1 == true; // true

123 === "123"; // false
1 === true; // false

!= !==

JavaScript

js
const a = 0 && "Hello"; // 0 0 
const b = "Hello" || "world"; // "Hello" "Hello"  "world" 

&& || null

js
const name = o && o.getName();

js
const name = cachedName || (cachedName = getName());

JavaScript C

  • Unicode
  • // /* */ PerlPython Bash #
  • JavaScript JavaScript Python

JavaScript

JavaScript C if else

js
let name = "kittens";
if (name === "puppies") {
  name += " woof";
} else if (name === "kittens") {
  name += " meow";
} else {
  name += "!";
}
name === "kittens meow";

JavaScript elifelse if if else

JavaScript while do...while

js
while (true) {
  // 
}

let input;
do {
  input = get_input();
} while (inputIsNotValid(input));

JavaScript for C Java

js
for (let i = 0; i < 5; i++) {
  //  5 
}

JavaScript for...of for...in

js
for (const value of array) {
  // 
}

for (const property in object) {
  // 
}

switch

js
switch (action) {
  case "draw":
    drawIt();
    break;
  case "eat":
    eatIt();
    break;
  default:
    doNothing();
}

C case label break case ===

RustJavaScript const a = if (x) { 1 } else { 2 }

try...catch JavaScript

js
try {
  buildMySite("./website");
} catch (e) {
  console.error("", e);
}

throw

js
function buildMySite(siteDirectory) {
  if (!pathExists(siteDirectory)) {
    throw new Error("");
  }
}

throw Error Error TypeError RangeError JavaScript instanceof

js
try {
  buildMySite("./website");
} catch (e) {
  if (e instanceof RangeError) {
    console.error("", e);
    console.log("...");
    buildMySite("./website");
  } else {
    // 
    throw e;
  }
}

try...catch

JavaScript

  • Python
  • Perl Ruby
  • C C++
  • Java HashMap
  • PHP

JavaScript JavaScript symbol

js
const obj = {
  name: "",
  for: "",
  details: {
    color: "",
    size: 12,
  },
};

.[]

js
// 
obj.name = "";
const name = obj.name;

// 
obj["name"] = "";
const name = obj["name"];

// 
const userName = prompt("");
obj[userName] = prompt("");

js
obj.details.color; // 
obj["details"]["size"]; // 12

js
const obj = {};
function doSomething(o) {
  o.x = 1;
}
doSomething(obj);
console.log(obj.x); // 1

!==

js
const me = {};
const stillMe = me;
me.x = 1;
console.log(stillMe.x); // 1

Object

JavaScript [] length 1

js
const a = ["", "", ""];
a.length; // 3

JavaScript length

js
const a = ["", "", ""];
a[100] = "";
console.log(a.length); // 101
console.log(a); // ['', '', '', empty  97, '']

undefined

js
const a = ["", "", ""];
console.log(typeof a[90]); // undefined

js
const arr = [1, "foo", true];
arr.push({});
// arr = [1, "foo", true, {}]

for C

js
for (let i = 0; i < a.length; i++) {
  //  a[i]
}

for...of C++/Java for (int x : arr)

js
for (const currentValue of a) {
  //  currentValue
}

map()

js
const babies = ["", "", ""].map((name) => `${name}`);
// babies = ['', '', '']

JavaScript

js
function add(x, y) {
  const total = x + y;
  return total;
}

JavaScript 0 return return return JavaScript undefined

undefined

js
add(); // NaN
//  add(undefined, undefined)

add(2, 3, 4); // 5
//  4

Python *args JS **kwargs

js
function avg(...args) {
  let sum = 0;
  for (const item of args) {
    sum += item;
  }
  return sum / args.length;
}

avg(2, 3, 4, 5); // 3.5

args

function avg(firstValue, ...args) firstValue args

avg(...numbers)

JavaScript

js
//  { } 
function area({ width, height }) {
  return width * height;
}

//  { } 
console.log(area({ width: 2, height: 3 }));

undefined

js
function avg(firstValue, secondValue, thirdValue = 0) {
  return (firstValue + secondValue + thirdValue) / 3;
}

avg(1, 2); // 1 NaN

JavaScript

js
// 
const avg = function (...args) {
  let sum = 0;
  for (const item of args) {
    sum += item;
  }
  return sum / args.length;
};

avg() function avg() {}

js
// 
const avg = (...args) => {
  let sum = 0;
  for (const item of args) {
    sum += item;
  }
  return sum / args.length;
};

//  `return`
const sum = (a, b, c) => a + b + c;

IIFE

js
(function () {
  // 
})();

IIFE

JavaScript DOM

js
function countChars(elm) {
  if (elm.nodeType === 3) {
    // TEXT_NODE
    return elm.nodeValue.length;
  }
  let count = 0;
  for (let i = 0, child; (child = elm.childNodes[i]); i++) {
    count += countChars(child);
  }
  return count;
}

js
const charsInBody = (function counter(elm) {
  if (elm.nodeType === 3) {
    // TEXT_NODE
    return elm.nodeValue.length;
  }
  let count = 0;
  for (let i = 0, child; (child = elm.childNodes[i]); i++) {
    count += counter(child);
  }
  return count;
})(document.body);

JavaScript JavaScriptCore Safari

JavaScript JavaScript

js
// 
const add = (x) => (y) => x + y;
// 
const babies = ["", "", ""].map((name) => `${name}`);

JavaScript JavaScript

JavaScript JavaScript

js
function parentFunc() {
  const a = 1;

  function nestedFunc() {
    const b = 4; // parentFunc 
    return a + b;
  }
  return nestedFunc(); // 5
}

JavaScript Java

js
class Person {
  constructor(name) {
    this.name = name;
  }
  sayHello() {
    return `${this.name}`;
  }
}

const p = new Person("");
console.log(p.sayHello());

JavaScript new

js
const withAuthentication = (cls) =>
  class extends cls {
    authenticate() {
      // 
    }
  };

class Admin extends withAuthentication(Person) {
  // 
}

static # private # Python _

JavaScript

JavaScript

JavaScript

js
// 
fs.readFile(filename, (err, content) => {
  // 
  if (err) {
    throw err;
  }
  console.log(content);
});
// 

//  Promise 
fs.readFile(filename)
  .then((content) => {
    // 
    console.log(content);
  })
  .catch((err) => {
    throw err;
  });
// 

// Async/await
async function readFile(filename) {
  const content = await fs.readFile(filename);
  console.log(content);
}

promise then() await promise promise promise then() promisepromise Promise<Promise<T>>

Node.js IO JavaScript CPU worker

Promise JavaScript

JavaScript URL import export

js
import { foo } from "./foo.js";

// 
const b = 2;

export const a = 1;

HaskellPythonJava JavaScript URL

JavaScript Math Intl JavaScript

Node.js npm Deno URL HTTP URL

JavaScript / API console.log()JavaScript

JavaScript JavaScript DOM APINode.js APIJavaScript Web JavaScript JavaScript Web API

JavaScript JavaScript JavaScript


Web Proxy Viewer  |  New URL  |  Original Page