国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

前端技能拾遺

kevin / 2764人閱讀

摘要:本文主要是對自己前端知識遺漏點(diǎn)的總結(jié)和歸納,希望對大家有用,會(huì)持續(xù)更新的解釋語言和編譯型語言解釋型語言與編譯型語言的區(qū)別翻譯時(shí)間的不同。命令會(huì)有變量聲明提前的效果。硬綁定參考不同是返回對應(yīng)函數(shù),便于稍后調(diào)用則是立即調(diào)用。

本文主要是對自己前端知識遺漏點(diǎn)的總結(jié)和歸納,希望對大家有用,會(huì)持續(xù)更新的~

解釋語言和編譯型語言

解釋型語言與編譯型語言的區(qū)別翻譯時(shí)間的不同。
編譯型語言在程序執(zhí)行之前,有一個(gè)多帶帶的編譯過程,將程序翻譯成機(jī)器語言,以后執(zhí)行這個(gè)程序的時(shí)候,就不用再進(jìn)行翻譯了。
解釋型語言,是在運(yùn)行的時(shí)候?qū)⒊绦蚍g成機(jī)器語言,所以運(yùn)行速度相對于編譯型語言要慢。
C/C++ 等都是編譯型語言,而Java,C#等都是解釋型語言。而JS是與編譯型語言類似,一樣要經(jīng)過,詞法分析,語法分析,AST生成三個(gè)步驟。

模塊

詳細(xì)解釋請參考參考

commonJS

CommonJS 模塊中,如果你 require 了一個(gè)模塊,那就相當(dāng)于你執(zhí)行了該文件的代碼并最終獲取到模塊輸出的module.exports 對象的一份拷貝。

CommonJS 模塊中 require 引入模塊的位置不同會(huì)對輸出結(jié)果產(chǎn)生影響,并且會(huì)生成值的拷貝

CommonJS 模塊重復(fù)引入的模塊并不會(huì)重復(fù)執(zhí)行,再次獲取模塊只會(huì)獲得之前獲取到的模塊的拷貝

ES6 輸出值的引用

ES6 模塊中就不再是生成輸出對象的拷貝,而是動(dòng)態(tài)關(guān)聯(lián)模塊中的值。

import 命令會(huì)被 JavaScript 引擎靜態(tài)分析,優(yōu)先于模塊內(nèi)的其他內(nèi)容執(zhí)行。

export 命令會(huì)有變量聲明提前的效果。

空對象
Object.create(null)的結(jié)果和{}很像,但是它不會(huì)創(chuàng)建Object.prototype這個(gè)委托,所以它要比{}更空。
null和undefined的區(qū)別

null表示真正的“無”,代表一個(gè)空對象指針,即變量未指向任何對象。
Undefined 表示缺省值,即此處應(yīng)該有一個(gè)值但是還沒有定義。
在轉(zhuǎn)換為數(shù)值類型時(shí),而知區(qū)別很大

Number(undefined)
// NaN

5 + undefined
// NaN

Number(null)
// 0
理解js中的構(gòu)造函數(shù)
function MyFunction() {}
var obj1 = new MyFunction()
var obj2 = new MyFunction()

其實(shí)可以將上面的代碼等價(jià)為

funtion MyFunction(){}
var obj1 = {}
MyFunction.call(obj1)

js內(nèi)部先用new操作符創(chuàng)建一個(gè)對象,緊接著就將函數(shù)的this綁定到這個(gè)對象上來執(zhí)行這個(gè)函數(shù)。

硬綁定bind

參考
不同:
bind 是返回對應(yīng)函數(shù),便于稍后調(diào)用;apply 、call 則是立即調(diào)用 。

實(shí)現(xiàn)
Function.prototype.bind2 = function (context) {

    if (typeof this !== "function") {
      throw new Error("Function.prototype.bind - what is trying to be bound is not callable");
    }

    var self = this;
    var args = Array.prototype.slice.call(arguments, 1);

    var fNOP = function () {};

    var fBound = function () {
        var bindArgs = Array.prototype.slice.call(arguments);
        return self.apply(this instanceof fNOP ? this : context, args.concat(bindArgs));
    }

    fNOP.prototype = this.prototype;
    fBound.prototype = new fNOP();
    return fBound;
}
箭頭函數(shù)
function foo() {
    return (a) => {
        console.log( this.a ); 
    };
}
var obj1 = { a:2 };
var obj2 = { a:3 };
var bar = foo.call( obj1 );
bar.call( obj2 ); // 2, 不是 3 !

foo() 內(nèi)部創(chuàng)建的箭頭函數(shù)會(huì)捕獲調(diào)用時(shí) foo() 的 this。由于 foo() 的 this 綁定到 obj1, bar(引用箭頭函數(shù))的 this 也會(huì)綁定到 obj1,箭頭函數(shù)的綁定無法被修改。(new 也不 行!)

安全 xss(跨站腳本攻擊)

其原理是攻擊者向有XSS漏洞的網(wǎng)站中輸入(傳入)惡意的HTML代碼,當(dāng)其它用戶瀏覽該網(wǎng)站時(shí),這段HTML代碼會(huì)自動(dòng)執(zhí)行,從而達(dá)到攻擊的目的。如,盜取用戶Cookie、破壞頁面結(jié)構(gòu)、重定向到其它網(wǎng)站等。
詳細(xì)內(nèi)容可參考這里

csrf(跨站請求偽造) macrotask和microtask

請參考

HTTP keep-alive

請參考

為什么要進(jìn)行三次握手

詳細(xì)內(nèi)容請參考

AJAX React react-router實(shí)現(xiàn)原理

請參考
請參考2

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/100272.html

相關(guān)文章

  • 前端技能拾遺

    摘要:本文主要是對自己前端知識遺漏點(diǎn)的總結(jié)和歸納,希望對大家有用,會(huì)持續(xù)更新的解釋語言和編譯型語言解釋型語言與編譯型語言的區(qū)別翻譯時(shí)間的不同。命令會(huì)有變量聲明提前的效果。硬綁定參考不同是返回對應(yīng)函數(shù),便于稍后調(diào)用則是立即調(diào)用。 本文主要是對自己前端知識遺漏點(diǎn)的總結(jié)和歸納,希望對大家有用,會(huì)持續(xù)更新的~ 解釋語言和編譯型語言 解釋型語言與編譯型語言的區(qū)別翻譯時(shí)間的不同。編譯型語言在程序執(zhí)行之前...

    lyning 評論0 收藏0
  • 前端技能拾遺

    摘要:本文主要是對自己前端知識遺漏點(diǎn)的總結(jié)和歸納,希望對大家有用,會(huì)持續(xù)更新的解釋語言和編譯型語言解釋型語言與編譯型語言的區(qū)別翻譯時(shí)間的不同。命令會(huì)有變量聲明提前的效果。硬綁定參考不同是返回對應(yīng)函數(shù),便于稍后調(diào)用則是立即調(diào)用。 本文主要是對自己前端知識遺漏點(diǎn)的總結(jié)和歸納,希望對大家有用,會(huì)持續(xù)更新的~ 解釋語言和編譯型語言 解釋型語言與編譯型語言的區(qū)別翻譯時(shí)間的不同。編譯型語言在程序執(zhí)行之前...

    Vultr 評論0 收藏0
  • 前端工程師手冊】JavaScript作用域拾遺

    摘要:昨天總結(jié)了一些作用域的知識前端工程師手冊之作用域,但是發(fā)表完發(fā)現(xiàn)忘記了一些東西,今天拾個(gè)遺。循環(huán)完畢之后,,且此時(shí)生成了個(gè)匿名函數(shù),由于這個(gè)匿名函數(shù)處在同一個(gè)詞法作用域中,所以他們引用同一個(gè),所以當(dāng)他們執(zhí)行時(shí),自然而然就會(huì)打出。 昨天總結(jié)了一些作用域的知識【前端工程師手冊】JavaScript之作用域,但是發(fā)表完發(fā)現(xiàn)忘記了一些東西,今天拾個(gè)遺。昨天說到了JavaScript中沒有塊級作...

    flyer_dev 評論0 收藏0
  • 前端工程師手冊】this拾遺之關(guān)于箭頭函數(shù)的種種

    摘要:之前總結(jié)了的一些常見綁定情況前端工程師手冊之的筆記,但是還有一些沒有說到,今天繼續(xù)學(xué)習(xí)一下。參考資料箭頭函數(shù)你不知道的上卷 之前總結(jié)了this的一些常見綁定情況(【前端工程師手冊】JavaScript之this的筆記),但是還有一些沒有說到,今天繼續(xù)學(xué)習(xí)一下。 es6箭頭函數(shù) 先說結(jié)論:箭頭函數(shù)沒有自己的this,它是根據(jù)外層(函數(shù)或者全局,后面會(huì)說到箭頭函數(shù)作為某個(gè)對象的方法時(shí)的情況...

    oogh 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<