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

一文詳解JavaScript函數(shù)和面向?qū)ο缶幊?/h1>

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

javascript函數(shù)

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

函數(shù)語法:

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

functionName(parameters) // 函數(shù)調(diào)用

函數(shù)聲明后不會(huì)立即執(zhí)行,會(huì)在我們需要的時(shí)候調(diào)用到。

函數(shù)提升:

  • 提升(Hoisting)是 JavaScript 默認(rèn)將當(dāng)前作用域提升到前面去的行為。
  • 提升(Hoisting)應(yīng)用在變量的聲明與函數(shù)的聲明。

因此,函數(shù)可以在聲明之前調(diào)用:

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

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

函數(shù)表達(dá)式:JavaScript 函數(shù)可以通過一個(gè)表達(dá)式定義。

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

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

箭頭函數(shù):表現(xiàn)形式更加簡潔。

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

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

函數(shù)作用域

局部變量:只能在函數(shù)內(nèi)部訪問。

變量在函數(shù)內(nèi)聲明,變量為局部變量,具有局部作用域。

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

console.log(a);

變量在函數(shù)外定義,即為全局變量。

全局變量有 全局作用域: 網(wǎng)頁中所有腳本和函數(shù)均可使用。

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

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

output();

哥德巴赫猜想

首先,將一個(gè)大問題劃分成兩個(gè)子問題:

  1. 判斷一個(gè)數(shù)是否是質(zhì)數(shù);
  2. 循環(huán)遍歷2~n,如果i是質(zhì)數(shù)且n-i也是質(zhì)數(shù),則輸出結(jié)果,并跳出循環(huán)。

因?yàn)槊杜e過程是從小到大,第一個(gè)找到的可行解一定是字典序最小的。

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))

});

面向?qū)ο缶幊?/h4>

面向?qū)ο缶幊滔噍^于面向過程編程更適合大型程序設(shè)計(jì)。

類是用于創(chuàng)建對象的模板。我們使用 class 關(guān)鍵字來創(chuàng)建一個(gè)類,類體在一對大括號(hào) {} 中,我們可以在大括號(hào) {} 中定義類成員的位置,如方法或構(gòu)造函數(shù)。

每個(gè)類中包含了一個(gè)特殊的方法 constructor(),它是類的構(gòu)造函數(shù),在創(chuàng)建對象時(shí)自動(dòng)執(zhí)行。

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();

繼承:

在子類的構(gòu)造函數(shù)中,只有調(diào)用super之后,才可以使用this關(guān)鍵字。

成員重名時(shí),子類的成員會(huì)覆蓋父類的成員。

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();

靜態(tài)方法和靜態(tài)變量

靜態(tài)方法:在成員函數(shù)前添加static關(guān)鍵字即可。靜態(tài)方法不會(huì)被類的實(shí)例繼承,只能通過類來調(diào)用。

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();

靜態(tài)變量:只能通過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);


責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2022-08-15 15:39:23

JavaScript面向?qū)ο?/a>數(shù)據(jù)

2019-08-06 09:00:00

JavaScript函數(shù)式編程前端

2022-07-30 23:41:53

面向過程面向?qū)ο?/a>面向協(xié)議編程

2011-05-25 10:21:44

Javascript

2013-07-30 09:42:41

實(shí)現(xiàn)編程接口編程對象編程

2012-01-17 09:34:52

JavaScript

2017-04-21 09:07:39

JavaScript對象編程

2023-02-28 18:09:53

Javascript定時(shí)器

2023-02-23 19:32:03

DOMJavascript開發(fā)

2021-10-14 10:25:05

JavaScript類型函數(shù)

2021-09-06 10:21:27

JavaScript表單對象 前端

2011-05-25 11:15:02

Javascript繼承

2012-02-27 09:30:22

JavaScript

2021-09-07 09:46:40

JavaScriptGenerator函數(shù)

2024-11-19 13:20:55

2019-11-18 17:05:02

JavaScript面向?qū)ο蟪绦蚓幊?/a>Java

2021-09-09 10:26:26

Javascript 文檔對象前端

2011-05-25 10:59:26

Javascript繼承

2022-07-19 15:24:45

Python編程技術(shù)

2023-12-26 01:14:20

函數(shù)式編程死鎖
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 91视视频在线观看入口直接观看 | 久久aⅴ乱码一区二区三区 亚洲欧美综合精品另类天天更新 | 久久久精品高清 | 午夜电影网站 | 亚洲综合字幕 | 在线一区二区三区 | 综合精品久久久 | 欧美中文字幕一区二区 | 五月激情综合网 | 国产一区二区三区免费 | 日韩国产一区二区三区 | 亚洲电影一区 | 亚洲精品视频在线观看免费 | 丝袜 亚洲 欧美 日韩 综合 | 久久久久久久国产精品视频 | 亚洲免费人成在线视频观看 | 久久免费精品视频 | 亚洲日本国产 | 久久久久久国产精品 | 激情亚洲| 亚洲一区二区三区四区五区午夜 | 日韩黄 | 日韩在线不卡视频 | 97色在线视频 | 欧美黑人一区二区三区 | 国产精品久久久久久久久久久久 | 中文精品视频 | 日韩国产欧美一区 | 九九精品网 | 久久亚| 成人免费小视频 | 国产黄色av网站 | 日日干天天干 | 亚洲大片一区 | 农村真人裸体丰满少妇毛片 | 欧美综合精品 | 91久久国产综合久久 | 亚洲精品一区二区冲田杏梨 | 国产精品久久久久久久久久久久 | 在线观看精品 | 91精品久久久 |