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

資訊專(zhuān)欄INFORMATION COLUMN

JS簡(jiǎn)明基礎(chǔ)

zhigoo / 481人閱讀

摘要:數(shù)據(jù)類(lèi)型在最新的規(guī)范中,定義了種數(shù)據(jù)類(lèi)型不了解其中前種為基礎(chǔ)數(shù)據(jù)類(lèi)型,只有為引用類(lèi)型基礎(chǔ)數(shù)據(jù)類(lèi)型和引用類(lèi)型劃分的依據(jù)是其在內(nèi)存中存儲(chǔ)的形式基礎(chǔ)數(shù)據(jù)類(lèi)型在內(nèi)存對(duì)應(yīng)的位置存儲(chǔ)的是,,字符串,數(shù)值或布爾值引用類(lèi)型在內(nèi)存對(duì)應(yīng)的位置存儲(chǔ)的是地址通過(guò)操

數(shù)據(jù)類(lèi)型

在最新的 ECMAScript 規(guī)范中,定義了7種數(shù)據(jù)類(lèi)型

null

undefined

boolean

number

string

symbol(不了解)

object

其中前6種為基礎(chǔ)數(shù)據(jù)類(lèi)型,只有 object 為引用類(lèi)型

基礎(chǔ)數(shù)據(jù)類(lèi)型和引用類(lèi)型劃分的依據(jù)是其在內(nèi)存中存儲(chǔ)的形式

基礎(chǔ)數(shù)據(jù)類(lèi)型在內(nèi)存對(duì)應(yīng)的位置存儲(chǔ)的是null,undefined,字符串,數(shù)值或布爾值(symbol)

引用類(lèi)型在內(nèi)存對(duì)應(yīng)的位置存儲(chǔ)的是地址

通過(guò)操作符 typeof 判斷數(shù)據(jù)類(lèi)型,不過(guò)有以下例外

typeof null // "object"
typeof function(){} // "function"

通過(guò)操作符 instanceof 判斷對(duì)象的類(lèi)型

The instanceof operator tests whether the prototype property of a constructor appears anywhere in the prototype chain of an object.

只要該對(duì)象的原型鏈上有以該構(gòu)造函數(shù)生成的對(duì)象,就返回true

[] instanceof Object // true
[] instanceof Array // true
[] instanceof Date // false
函數(shù)與對(duì)象
typeof function(){} // "function"

函數(shù)也是對(duì)象

對(duì)象大都是通過(guò)函數(shù)new出來(lái),不考慮函數(shù)對(duì)象

var obj = { a: 10, b: 20 }; // 將看成是一種語(yǔ)法糖
// 相當(dāng)于
var obj = new Object();
obj.a = 10;
obj.b = 20;

var arr = [5, "x", true];
// 相當(dāng)于
var arr = new Array();
arr[0] = 5;
arr[1] = "x";
arr[2] = true;

函數(shù)Fn也是對(duì)象,具有屬性prototype,其指向一個(gè)對(duì)象P,通過(guò)new Fn()產(chǎn)生的對(duì)象fn,fn.__proto === Fn.prototype,F(xiàn)n.prototype === P

Returns a reference to the Object constructor function that created the instance object.

對(duì)象通過(guò) constructor 找到生母是誰(shuí)

function Fn() { }
let fn = new Fn()
Fn.constructor === Function // true
fn.constructor === Fn // true

.png)

通過(guò) hasOwnPrototype ,判斷某屬性是對(duì)象自身?yè)碛械模€是其原型鏈上的

函數(shù) 內(nèi)部變量聲明&提升

函數(shù)在執(zhí)行之前會(huì)搜索函數(shù)體內(nèi)所有的函數(shù)聲明,將其移至函數(shù)體的開(kāi)始

函數(shù)在執(zhí)行之前會(huì)搜索函數(shù)體內(nèi)所有通過(guò) var 聲明的變量,將其移至函數(shù)體的開(kāi)始

移至函數(shù)聲明的后面

只聲明變量,并不給變量賦值或賦值為undefined,賦值的操作,仍在原地

console.log(Person) // function Person(){}
function Person(){
}
var Person = 2
console.log(Person) // 2
console.log(Person) // function Person(){}
var Person = 2
function Person(){
}
Person // 2
// 相當(dāng)于
console.log(Person)
function Person(){
}
var Person
Person = 2
參數(shù)
var v1 = {}
function func(obj){
  obj = {
    name: "v1"
  }
}
func(v1)
// 相當(dāng)于
func(v1)
function func(obj){
  let obj = v1
  obj = {
    name: "v1"
  }
}

函數(shù)中傳遞參數(shù),相當(dāng)于額外執(zhí)行了let parameter = argument,在函數(shù)體內(nèi)聲明變量名為形參的局部變量,并且值為實(shí)參

this

函數(shù)內(nèi)部this指向的對(duì)象取決于函數(shù)被調(diào)用的情形。

通過(guò) new 操作符調(diào)用函數(shù)且函數(shù)沒(méi)有明確的返回值時(shí),this指向函數(shù)將要?jiǎng)?chuàng)建的對(duì)象

函數(shù)被當(dāng)作對(duì)象的屬性調(diào)用,this指向調(diào)用該函數(shù)的對(duì)象

通過(guò)call,apply,bind顯示地給函數(shù)綁定調(diào)用對(duì)象

找不到對(duì)象的話(huà)就是宿主環(huán)境(window)

作用域

函數(shù)可以通過(guò)參數(shù)獲得額外的變量,

函數(shù)也可以通過(guò)this對(duì)象來(lái)獲得額外的變量,

函數(shù)還可以通過(guò)作用域獲得額外的變量

相比于this對(duì)象,動(dòng)態(tài)地獲得額外的變量;通過(guò)作用域獲得的額外的變量是在函數(shù)書(shū)寫(xiě)的時(shí)候就確定了,靜態(tài)作用域

let x = 10;
function foo() {
  console.log(x);
}
function bar(funArg) {
  let x = 20;
  funArg(); // 10
}
bar(foo);

函數(shù)在執(zhí)行時(shí),其上下文是基于它書(shū)寫(xiě)的地方

閉包

1  function foo() {
2     var a = 2;
3
4     function bar() {
5         console.log( a );
6     }
7
8     return bar;
9  }
10
11  var baz = foo();
12
13  baz(); // 2

a 是 foo() 內(nèi)部的變量,不能在函數(shù)外部被直接訪問(wèn)

bar 可以訪問(wèn) foo() 內(nèi)部所有的變量,包括 a

bar 被作為返回值,返回給了外部變量 baz,因此通過(guò) baz 可以訪問(wèn) foo() 內(nèi)部的變量,包括 a

bar 內(nèi)部包裹著一段代碼 console.log(a) ,雖然它在第13行,通過(guò) baz 來(lái)調(diào)用,但實(shí)際上它執(zhí)行時(shí)的上下文仍是第5行的上下文

Closure is when a function is able to remember and access its lexical scope even when that function is executing outside its lexical scope.

閉包的本質(zhì)是作用域

本來(lái),當(dāng) foo() 執(zhí)行完后,這個(gè)作用域及其內(nèi)部的變量就被回收了,但是

bar() still has a reference to that scope, and that reference is called closure.

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

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

相關(guān)文章

  • java回調(diào)函數(shù)-異步回調(diào)-簡(jiǎn)明講解

    摘要:回調(diào)函數(shù)異步回調(diào)簡(jiǎn)明講解敘言異步回調(diào)常用于某些業(yè)務(wù)需要很長(zhǎng)時(shí)間處理,但是又需要立刻返回結(jié)果,這種情況都需要開(kāi)辟線程獨(dú)立處理需要長(zhǎng)時(shí)間多的業(yè)務(wù),也無(wú)處理完了,回調(diào)回調(diào)函數(shù),再去處理與之有關(guān)的需要在該業(yè)務(wù)之后處理的業(yè)務(wù)。 java回調(diào)函數(shù)-異步回調(diào)-簡(jiǎn)明講解 敘言: 異步回調(diào)常用于某些業(yè)務(wù)需要很長(zhǎng)時(shí)間處理,但是又需要立刻返回結(jié)果,這種情況都需要開(kāi)辟線程獨(dú)立處理需要長(zhǎng)時(shí)間多的業(yè)務(wù),也無(wú)處理...

    Simon_Zhou 評(píng)論0 收藏0
  • 簡(jiǎn)明 PHP 教程》04 基礎(chǔ)

    摘要:邏輯行與物理行所謂物理行是你在編寫(xiě)程序時(shí)你所看到的內(nèi)容。以作為不同邏輯行的結(jié)束與分隔。在邏輯行的開(kāi)頭留下空白區(qū)使用空格或制表符用以確定各邏輯行的縮進(jìn)級(jí)別,而后者又可用于確定語(yǔ)句的分組。每一組這樣的語(yǔ)句被稱(chēng)為塊。 只是打印出 hello world 肯定是不夠的,是嗎?你會(huì)希望做得比這還要多——你想要輸入一些內(nèi)容,操縱它,然后從中得到一些輸出出來(lái)的內(nèi)容。我們可以在 PHP 中通過(guò)使用變量...

    Yu_Huang 評(píng)論0 收藏0
  • Python入門(mén)資料大全(更新ing)

    摘要:在線挑戰(zhàn),還沒(méi)用過(guò),貌似現(xiàn)在對(duì)英文資料心里還有種抵觸,必須克服實(shí)驗(yàn)樓研發(fā)工程師包含了等學(xué)習(xí)課程。書(shū)的作者就是開(kāi)發(fā)了用于數(shù)據(jù)分析的著名開(kāi)源庫(kù)的作者英文資料,對(duì)數(shù)據(jù)分析中要用到的一些庫(kù),等等做了簡(jiǎn)要介紹。形式的資料,示例代碼都很全。 showImg(https://segmentfault.com/img/remote/1460000004852849); 一、說(shuō)明 面對(duì)網(wǎng)絡(luò)上紛繁復(fù)雜的資...

    wuaiqiu 評(píng)論0 收藏0
  • 簡(jiǎn)明docker教程

    摘要:并且各種各樣的貨物被集裝箱標(biāo)準(zhǔn)化了,集裝箱和集裝箱之間不會(huì)互相影響。容器可以被創(chuàng)建啟動(dòng)停止刪除暫停等。默認(rèn)情況下,為了排障需求,退出的容器并不會(huì)立即刪除,除非手動(dòng)。這是指用鏡像為基礎(chǔ)來(lái)啟動(dòng)容器。 簡(jiǎn)明docker教程 一、什么是docker 二、docker與虛擬機(jī)比較 三、安裝docker 四、基本概念 1、鏡像 2、容器 3、數(shù)據(jù)卷 4、掛載 五、參考資料 有收...

    FuisonDesign 評(píng)論0 收藏0
  • Python3 簡(jiǎn)明教程

    摘要:課程簡(jiǎn)介簡(jiǎn)明易懂的課程,不僅適用于那些有其它語(yǔ)言基礎(chǔ)的同學(xué),對(duì)沒(méi)有編程經(jīng)驗(yàn)的同學(xué)也非常友好。建議遵守以下約定使用個(gè)空格來(lái)縮進(jìn)永遠(yuǎn)不要混用空格和制表符在函數(shù)之間空一行在類(lèi)之間空兩行字典,列表,元組以及參數(shù)列表中,在后添加一個(gè)空格。 showImg(https://segmentfault.com/img/bVCldE); 課程簡(jiǎn)介:簡(jiǎn)明易懂的 Python3 課程,不僅適用于那些有其它語(yǔ)...

    cyqian 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

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