成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一文詳解JavaScript函數和面向對象編程

開發 前端
函數就是一個功能模塊,函數式編程是一種面向過程的編程思想,如果遇到一個大的復雜問題,可以分解成幾個部分,每個部分用專門的函數分解實現。

javascript函數

函數就是一個功能模塊,函數式編程是一種面向過程的編程思想,如果遇到一個大的復雜問題,可以分解成幾個部分,每個部分用專門的函數分解實現。

函數語法:

function functionName(parameters) {
執行的代碼
}

functionName(parameters) // 函數調用

函數聲明后不會立即執行,會在我們需要的時候調用到。

函數提升:

  • 提升(Hoisting)是 JavaScript 默認將當前作用域提升到前面去的行為。
  • 提升(Hoisting)應用在變量的聲明與函數的聲明。

因此,函數可以在聲明之前調用:

console.log(add(3, 4));

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

函數表達式:JavaScript 函數可以通過一個表達式定義。

const add = function(a, b){
return a + b;
}

console.log(add(3, 4));

箭頭函數:表現形式更加簡潔。

const add = (a, b) => {
return a + b;
}

console.log(add(3, 4));

函數作用域

局部變量:只能在函數內部訪問。

變量在函數內聲明,變量為局部變量,具有局部作用域。

const output = () => {
let a = 10;
}

console.log(a);

變量在函數外定義,即為全局變量。

全局變量有 全局作用域: 網頁中所有腳本和函數均可使用。

let url = "https://noi.hioier.com/";

const output = () => {
console.log(url);
}

output();

哥德巴赫猜想

首先,將一個大問題劃分成兩個子問題:

  1. 判斷一個數是否是質數;
  2. 循環遍歷2~n,如果i是質數且n-i也是質數,則輸出結果,并跳出循環。

因為枚舉過程是從小到大,第一個找到的可行解一定是字典序最小的。

let buf = "";

const is_prime = (n) => {
for(let i = 2; i < n; i++){
if(n % i == 0)
return false;
}

return true;
}

process.stdin.on("readable", function(){
let chunk = process.stdin.read();
if(chunk) buf += chunk.toString();
});

process.stdin.on("end", function(){
let n = parseInt(buf);

for(let i = 2; i <= n; i++){
if(is_prime(i) && is_prime(n - i)){
console.log(`${n} = ${i} + ${n-i}`);
break;
}
}

// console.log(is_prime(n))

});

面向對象編程

面向對象編程相較于面向過程編程更適合大型程序設計。

類是用于創建對象的模板。我們使用 class 關鍵字來創建一個類,類體在一對大括號 {} 中,我們可以在大括號 {} 中定義類成員的位置,如方法或構造函數。

每個類中包含了一個特殊的方法 constructor(),它是類的構造函數,在創建對象時自動執行。

class People{
constructor(name, age){
this.name = name;
this.age = age;
}

output(){
console.log(`My name is ${this.name}, I am ${this.age} years old.`);
}
}

let xiaoming = new People("小明", 10);
xiaoming.output();

繼承:

在子類的構造函數中,只有調用super之后,才可以使用this關鍵字。

成員重名時,子類的成員會覆蓋父類的成員。

class Student extends People{
constructor(name, age, score){
super(name, age);
this.score = score;
}

output(){
console.log(`My name is ${this.name}, I am ${this.age} years old.My total score is ${this.score}.`);
}
}

let xiaohong = new Student("小紅", 8, 300);
xiaohong.output();

靜態方法和靜態變量

靜態方法:在成員函數前添加static關鍵字即可。靜態方法不會被類的實例繼承,只能通過類來調用。

class People{
constructor(name, age){
this.name = name;
this.age = age;
}

output(){
console.log(`My name is ${this.name}, I am ${this.age} years old.`);
}

static current_class_name(){
console.log("People");
}
}

let xiaoming = new People("小明", 10);
// xiaoming.output();
// xiaoming.current_class_name();
People.current_class_name();

靜態變量:只能通過classname.variablename定義和訪問。

class People{

constructor(name, age){
this.name = name;
this.age = age;
People.color = 'yellow';
}

output(){
console.log(`My name is ${this.name}, I am ${this.age} years old.`);
}

static current_class_name(){
console.log("People");
}
}

console.log(People.color);


責任編輯:華軒 來源: 今日頭條
相關推薦

2022-08-15 15:39:23

JavaScript面向對象數據

2022-07-30 23:41:53

面向過程面向對象面向協議編程

2019-08-06 09:00:00

JavaScript函數式編程前端

2011-05-25 10:21:44

Javascript

2013-07-30 09:42:41

實現編程接口編程對象編程

2012-01-17 09:34:52

JavaScript

2017-04-21 09:07:39

JavaScript對象編程

2011-05-25 11:15:02

Javascript繼承

2023-02-28 18:09:53

Javascript定時器

2023-02-23 19:32:03

DOMJavascript開發

2012-02-27 09:30:22

JavaScript

2021-10-14 10:25:05

JavaScript類型函數

2021-09-06 10:21:27

JavaScript表單對象 前端

2019-11-18 17:05:02

JavaScript面向對象程序編程Java

2011-05-25 10:59:26

Javascript繼承

2021-09-07 09:46:40

JavaScriptGenerator函數

2024-11-19 13:20:55

2021-09-09 10:26:26

Javascript 文檔對象前端

2022-07-19 15:24:45

Python編程技術

2023-12-26 01:14:20

函數式編程死鎖
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 综合在线视频 | 一区二区在线不卡 | 日韩欧美在线精品 | 一区二区三区国产好 | 天天操夜夜操 | 亚洲一区二区在线 | 中文字幕 在线观看 | 狠狠爱综合网 | 亚洲成人福利 | 青青艹在线视频 | 国产午夜精品一区二区三区嫩草 | 国产亚洲精品综合一区 | 在线观看亚洲欧美 | 久草电影网 | 美女视频h | 日本精品视频 | 2020国产在线 | 久久极品| 黄网站色大毛片 | 精品久久一区 | 成人在线日韩 | 日本成人免费网站 | 超碰成人在线观看 | 欧美一区二区成人 | 成年人在线播放 | 国产精品一区二区在线 | 一区二区福利视频 | av中文天堂 | 国产99小视频 | 免费的av网站 | 久久的色| 亚洲有码转帖 | 中文字幕一区在线观看视频 | 亚洲欧美精品 | 99色视频| 日韩福利在线 | 欧美精品二区三区 | 免费毛片www com cn | 色欧美片视频在线观看 | 亚洲福利一区二区 | 久久综合九色综合欧美狠狠 |