摘要:高級(jí)高級(jí)一函數(shù)高級(jí)一函數(shù)高級(jí)函數(shù)回調(diào)函數(shù)回調(diào)回調(diào)的函數(shù)邏輯函數(shù)函數(shù)回調(diào)函數(shù)回調(diào)的本質(zhì)在一個(gè)函數(shù)中調(diào)用函數(shù),當(dāng)滿足一定條件,調(diào)用參數(shù)函數(shù)回調(diào)函數(shù)回調(diào)函數(shù)作為調(diào)用函數(shù)的參數(shù)傳入回調(diào)函數(shù)通過(guò)參數(shù)將調(diào)用還是內(nèi)部數(shù)據(jù)傳出閉包閉包閉包目的不允許提升變量
// 回調(diào)的函數(shù)
function callback(data) {}
// 邏輯函數(shù)
function func(callback) {
// 函數(shù)回調(diào)
if (callback) callback(data);
}
// 函數(shù)回調(diào)的本質(zhì):在一個(gè)函數(shù)中(調(diào)用函數(shù)),當(dāng)滿足一定條件,調(diào)用參數(shù)函數(shù)(回調(diào)函數(shù))
// 回調(diào)函數(shù)作為調(diào)用函數(shù)的參數(shù)傳入
// 回調(diào)函數(shù)通過(guò)參數(shù)將調(diào)用還是內(nèi)部數(shù)據(jù)傳出
function outer() {
var data = {}
function inner() {
return data;
}
return inner;
}
// 閉包目的:不允許提升變量作用域時(shí),該函數(shù)的局部變量需要被其他函數(shù)使用
// 閉包本質(zhì):函數(shù)的嵌套,內(nèi)層函數(shù)稱之為閉包
// 閉包的解決案例:①影響局部變量的生命周期,持久化局部變量;②解決變量污染
.html文件
- 列表項(xiàng)
- 列表項(xiàng)
- 列表項(xiàng)
.js文件
var lis = document.querySelector("li");
for (var i = 0; i < lis.length; i++) {
lis[i].onclick = function () {
// 打印列表項(xiàng)的索引
console.log(i);
}
}
// 變量污染
// 獲取局部作用域解決
// 閉包解決
// 對(duì)象屬性解決
var obj = {}; | var obj = new Object();
// 屬性
obj.prop = "";
// 方法
obj.func = function () {}
// 刪除屬性與方法
delete obj.prop
delete obj.func
var dict = {name: "zero", age: 18}
var dict = {"my-name": "zero", fn: function () {}, fun () {}}
dict.name | dict["my-name"] | dict.fn()
function People(name, age) {
this.name = name;
this.age = age;
this.eat = function () {
return "eat";
}
}
// 父級(jí)
function Sup(name) {
this.name = name;
this.fn = function () {
console.log("fn class");
}
}
// 原型
console.log(Sup.prototype);
console.log(sup.__proto__);
// 子級(jí)
function Sub(name) {
// 繼承屬性
Sup.call(this, name);
}
// 繼承方法
Sub.prototype = new Sup;
// 創(chuàng)建子級(jí)對(duì)象
var sub = new Sub("subClass");
// 使用屬性
console.log(sub.name);
// 使用方法
sub.fn();
// 指向自身構(gòu)造函數(shù)
Sub.prototype.constructor = Sub;
// 父類
class People {
// 構(gòu)造器
constructor (name, age) {
this.name = name;
this.age = age;
}
// 實(shí)例方法
eat () {
console.log("吃吃吃");
}
// 類方法
static create () {
console.log("誕生");
}
}
// 子類
class Student extends People {
constructor (name, age) {
// super關(guān)鍵詞
super(name, age)
}
}
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/1690.html
摘要:專題系列共計(jì)篇,主要研究日常開(kāi)發(fā)中一些功能點(diǎn)的實(shí)現(xiàn),比如防抖節(jié)流去重類型判斷拷貝最值扁平柯里遞歸亂序排序等,特點(diǎn)是研究專題之函數(shù)組合專題系列第十六篇,講解函數(shù)組合,并且使用柯里化和函數(shù)組合實(shí)現(xiàn)模式需求我們需要寫(xiě)一個(gè)函數(shù),輸入,返回。 JavaScript 專題之從零實(shí)現(xiàn) jQuery 的 extend JavaScritp 專題系列第七篇,講解如何從零實(shí)現(xiàn)一個(gè) jQuery 的 ext...
摘要:設(shè)計(jì)模式是以面向?qū)ο缶幊虨榛A(chǔ)的,的面向?qū)ο缶幊毯蛡鹘y(tǒng)的的面向?qū)ο缶幊逃行┎顒e,這讓我一開(kāi)始接觸的時(shí)候感到十分痛苦,但是這只能靠自己慢慢積累慢慢思考。想繼續(xù)了解設(shè)計(jì)模式必須要先搞懂面向?qū)ο缶幊蹋駝t只會(huì)讓你自己更痛苦。 JavaScript 中的構(gòu)造函數(shù) 學(xué)習(xí)總結(jié)。知識(shí)只有分享才有存在的意義。 是時(shí)候替換你的 for 循環(huán)大法了~ 《小分享》JavaScript中數(shù)組的那些迭代方法~ ...
摘要:理解的函數(shù)基礎(chǔ)要搞好深入淺出原型使用原型模型,雖然這經(jīng)常被當(dāng)作缺點(diǎn)提及,但是只要善于運(yùn)用,其實(shí)基于原型的繼承模型比傳統(tǒng)的類繼承還要強(qiáng)大。中文指南基本操作指南二繼續(xù)熟悉的幾對(duì)方法,包括,,。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。 怎樣使用 this 因?yàn)楸救藢儆趥吻岸耍虼宋闹兄豢炊?8 成左右,希望能夠給大家?guī)?lái)幫助....(據(jù)說(shuō)是阿里的前端妹子寫(xiě)的) this 的值到底...
摘要:然后將構(gòu)造函數(shù)的原型設(shè)為,便實(shí)現(xiàn)了對(duì)象繼承。首先,我們定義一個(gè)構(gòu)造函數(shù),并在其中定義一個(gè)局部變量。這里的是局部變量,其作用域仍然存在是閉包現(xiàn)象,而非對(duì)象屬性。 Javascript是動(dòng)態(tài)的,弱類型的,解釋執(zhí)行的程序設(shè)計(jì)語(yǔ)言。 Javascript極其靈活,支持多種程序設(shè)計(jì)范式:面向?qū)ο蟆⒅噶钍健⒑瘮?shù)式。JavaSCript最初被用于瀏覽器腳本,現(xiàn)在已經(jīng)是所有主流瀏覽器的默認(rèn)腳本語(yǔ)言。瀏...
摘要:和類在開(kāi)始時(shí)遇到類組件,只是需要有關(guān)類的基礎(chǔ)。畢竟,中的條件呈現(xiàn)僅再次顯示大多數(shù)是而不是特定的任何內(nèi)容。 在我的研討會(huì)期間,更多的材料是關(guān)于JavaScript而不是React。其中大部分歸結(jié)為JavaScript ES6以及功能和語(yǔ)法,但也包括三元運(yùn)算符,語(yǔ)言中的簡(jiǎn)寫(xiě)版本,此對(duì)象,JavaScript內(nèi)置函數(shù)(map,reduce,filter)或更常識(shí)性的概念,如:可組合性,可重用...
閱讀 1586·2021-09-26 09:46
閱讀 2673·2021-09-07 09:59
閱讀 2759·2021-09-07 09:59
閱讀 1879·2019-08-30 14:20
閱讀 932·2019-08-26 13:39
閱讀 3181·2019-08-26 12:24
閱讀 779·2019-08-26 11:55
閱讀 1220·2019-08-23 16:49