《JavaScript高級(jí)程序設(shè)計(jì)》__雜記

  • 文檔對(duì)象模型DOM

    提供訪問(wèn)和操作頁(yè)面內(nèi)容的方法和接口
  • 瀏覽器對(duì)象模型BOM

    提供與瀏覽器交互的方法和接口
  • ECMAScript卑笨,提供核心語(yǔ)言功能


<script></script>元素 一般 引用放在<body>元素中頁(yè)面的內(nèi)容后面


javascript語(yǔ)法類似類C語(yǔ)言(java和perl),區(qū)分大小寫嗜浮,語(yǔ)句以分號(hào)結(jié)束
變量 可以保存任何類型的數(shù)據(jù)
var操作符定義,當(dāng)函數(shù)被調(diào)用時(shí),就會(huì)創(chuàng)建該變量并為其賦值,不用就會(huì)被銷毀
省略var,從而創(chuàng)建全局變量


  • 數(shù)據(jù)類型

  • 基本類型
    字符串(String)
    數(shù)字(Number)
    布爾(Boolean)
    數(shù)組(Array)
    空(Null)
    未定義(Undefined)

  • 引用類型
    對(duì)象(Object)

    typeof操作符(檢測(cè)變量的數(shù)據(jù)類型) :
    typeof 37 === 'number';


  • undefined類型

使用var聲明變量但未對(duì)其加以初始化時(shí),這個(gè)變量的值就是undefined苛骨。所以當(dāng)提示變量undefined時(shí)候就是告訴我們這個(gè)變量還沒(méi)有初始化。


  • null類型

值:null 空對(duì)象指針(object)
如果定義的變量準(zhǔn)備在將來(lái)用于保存對(duì)象苟呐,那么最好將該變量初始化為null。

typeof null==="object"http://true

if(car!null){
//對(duì)car進(jìn)行某些操作
}```

  undefined派生自null值俐筋,但他們的用途完全不同牵素。
  alert(null==undefined);//true
***
* #####boolean類型
值:true和false
true不一定等于1,而false也不一定等于0
把其他類型中的值(與boolean等價(jià)的)轉(zhuǎn)換成boolean: `boolean()`
***
* #####number類型( 整數(shù)和浮點(diǎn)數(shù)值)
##`整數(shù)`
 十進(jìn)制數(shù)值是最基本的數(shù)值字面量格式澄者,八進(jìn)制的字面量在嚴(yán)格模式下是無(wú)效的
在進(jìn)行計(jì)算時(shí)笆呆,八進(jìn)制和十六進(jìn)制最終都會(huì)轉(zhuǎn)變成十進(jìn)制數(shù)值
##`浮點(diǎn)數(shù)值`
該數(shù)值中必定包含一個(gè) 小數(shù)點(diǎn),并且小數(shù)點(diǎn)后面必須有一位數(shù)字粱挡,浮點(diǎn)數(shù)值得保存空間
是整數(shù)值的兩倍赠幕,es會(huì)不失時(shí)機(jī)地把浮點(diǎn)數(shù)值轉(zhuǎn)換成整數(shù)值。
## `數(shù)值范圍`
最醒ぁ:Number.MIN_VALUE
最大值:Number.MAX_VALUE
如果超出數(shù)值范圍榕堰,轉(zhuǎn)化成infinity值(-infinity負(fù)無(wú)窮),`iFinite()`函數(shù)確認(rèn)一個(gè)數(shù)值是不是有窮的
## `NaN 非數(shù)值`
      NaN(Not a number)與任何值不相等,包括他本身
`isNuN()`函數(shù)確認(rèn)這個(gè)參數(shù)是否“非數(shù)值”
##`數(shù)值轉(zhuǎn)換`
把非數(shù)值轉(zhuǎn)換成數(shù)值:
`Number()` 任何數(shù)據(jù)類型

  字符串轉(zhuǎn)換成數(shù)值:
`parseIn()`
`parseFloat() `

  對(duì)象:
`valueOf()`  `toString()`
***
* #####String類型
字符字面量(轉(zhuǎn)義序列)嫌套,字符串一旦創(chuàng)建逆屡,他們的值就不能改變。
轉(zhuǎn)為字符串:`toString()`
***
* #####對(duì)象
object類型踱讨,一組數(shù)據(jù)和功能的集合
object類型是所有它的實(shí)例的基礎(chǔ)魏蔗。
***
* #####操作符
運(yùn)算操作符
位操作符
關(guān)系操作符
相等操作符

  ## `一元操作符`
遞增`++`和遞減操作符` --`
前置遞減和后置遞減的差別,操作在包含他們的語(yǔ)句被求值之后才執(zhí)行的

  ## `布爾操作符`
邏輯非 `!`
邏輯與` && ` 兩者同時(shí)
邏輯或 `|| `
乘性操作符  乘法` *`  除法 `/` 求模(于)`%` 

  ##  `加性操作符`
加法 `+`
          `操作數(shù)是字符串時(shí):
          如果兩個(gè)兩個(gè)操作數(shù)都是字符串痹筛,則拼接
          如果有一個(gè)是字符串莺治,則將另一個(gè)操作數(shù)轉(zhuǎn)換成操作數(shù)廓鞠,然后拼接`
減法` -`

  ## `關(guān)系操作符`
大于 `>`  小于 `<`  大于等于 `>=` 小于等于`<=`
字符串比較的是字符編碼
數(shù)值和字符串相比較的時(shí)候,字符串會(huì)變轉(zhuǎn)成數(shù)值谣旁,然后再比較床佳。
 `任何操作數(shù)和NaN相比較,結(jié)果都是false蔓挖。`

  ## `相等操作符`
相等和不相等--先轉(zhuǎn)換再比較
``` var  result =('22'==22) //true 轉(zhuǎn)換后相等```
全等和不全等--僅比較而不轉(zhuǎn)換
```var result=('22'===22)//false 因?yàn)椴煌臄?shù)據(jù)類型夕土,所以不全等```
相等 `==`
不相等`!=`
全等`===`
不全等`瘟判!==`

  ## `條件操作符`
```variale=boolean_experssion?true_value:false_value```

  ## `賦值操作符`
把右側(cè)的值賦給左側(cè)
var num=10怨绣;

  ## `逗號(hào)操作符`
var num1=1,num2=2,num3=3;
逗號(hào)操作符還可以用于賦值,逗號(hào)操作符總會(huì)返回表達(dá)式中的最后一項(xiàng)拷获,如下面:
var num=(1,2,2,3,4,5)//num的值為5

***
* #####語(yǔ)句
  ## `if語(yǔ)句`
推崇用代碼塊篮撑,即使只有一行代碼
```javascript 
if (條件)
  {
  當(dāng)條件為 true 時(shí)執(zhí)行的代碼
  }
else
  {
  當(dāng)條件不為 true 時(shí)執(zhí)行的代碼
  }

while語(yǔ)句

前測(cè)試循環(huán)語(yǔ)句

while (條件)
  {
  需要執(zhí)行的代碼
  }

do-while

語(yǔ)句后測(cè)試循環(huán)語(yǔ)句

do
  {
  需要執(zhí)行的代碼
  }
while (條件);

在對(duì)表達(dá)式求值之前,循環(huán)體內(nèi)的代碼至少被執(zhí)行一次

for語(yǔ)句

(前測(cè)循環(huán)語(yǔ)句)具有在執(zhí)行循環(huán)之前初始化變量和定義循環(huán)后要執(zhí)行的代碼的能力匆瓜。

var count =10 ;
for(var i=0;i<count;i++){
alert(i)
}```
for循環(huán)只是把與循環(huán)有關(guān)的代碼集中在一個(gè)位置赢笨。

  ## `for-in語(yǔ)句`
for-in語(yǔ)句是一種精準(zhǔn)的迭代語(yǔ)句,可以用來(lái)枚舉對(duì)象的屬性(遍歷對(duì)象屬性)

var person={fname:"John",lname:"Doe",age:25};
for (x in person)
{
txt=txt + person[x];
}

枚舉在C/C++/c#中驮吱,是一個(gè)被命名的整型常數(shù)的集合茧妒。
label語(yǔ)句可以在代碼中添加標(biāo)簽,以便將來(lái)使用左冬。
## `break語(yǔ)句`
break語(yǔ)句立即退出循環(huán)桐筏,強(qiáng)制繼續(xù)執(zhí)行循環(huán)后面的語(yǔ)句

for (i=0;i<10;i++)
{
if (i==3)
{ break }
x=x + "The number is " + i + "
";
}

## `continue語(yǔ)句`
continue雖然也是立即退出循環(huán),但是退出循環(huán)后會(huì)從循環(huán)的頂部繼續(xù)執(zhí)行

for (i=0;i<=10;i++)
{
if (i==3) continue;
x=x + "The number is " + i + "
";
}```

with語(yǔ)句

將代碼的作用域設(shè)置到一個(gè)特定的對(duì)象中拇砰,嚴(yán)格模式下不允許使用with語(yǔ)句梅忌,否則將視為語(yǔ)法錯(cuò)誤。
switch語(yǔ)句除破,一種流控制語(yǔ)句
default牧氮,相當(dāng)于一個(gè)else語(yǔ)句
可以在switch語(yǔ)句中使用任何數(shù)據(jù)類型,每個(gè)case的值不一定是常量瑰枫,也可以是變量踱葛、表達(dá)式。


  函數(shù)可以封裝任意多條語(yǔ)句光坝,而且可以在任何地方剖毯、任何時(shí)候調(diào)用執(zhí)行。

無(wú)須指定函數(shù)的返回值教馆,因?yàn)槿魏魏瘮?shù)都可以在任何時(shí)候返回任何值
return()位于return語(yǔ)句之后的任何代碼都永遠(yuǎn)不會(huì)執(zhí)行逊谋,一個(gè)函數(shù)可以包含多個(gè)return語(yǔ)句。
未指定返回值的函數(shù)返回的是一個(gè)特殊的undefined值土铺。
函數(shù)沒(méi)有重載胶滋,如果定義兩個(gè)名字相同的函數(shù)板鬓,則改名字只屬于后定義的函數(shù)。


  • 基本類型和引用類型的值

引用類型的值是保存在內(nèi)存中的對(duì)象
動(dòng)態(tài)的屬性

person.name(屬性)="Nicholas"(字符串值)``
我們不能給基本屬性的值添加屬性

 ## `復(fù)制變量值`
當(dāng)一個(gè)變量向另一個(gè)變量復(fù)制引用類型的值時(shí)究恤,同樣也會(huì)將存儲(chǔ)在變量對(duì)象中的值復(fù)制一份到新的變量分配空間中俭令,兩個(gè)變量實(shí)際上將引用同一個(gè)對(duì)象,因此改變其中一個(gè)變量部宿,就會(huì)影響另一個(gè)變量抄腔。

 ##`傳遞參數(shù)`
局部變量和全局變量
參數(shù)按照引用傳遞

 ## `檢測(cè)類型`
測(cè)試變量是不是基本數(shù)據(jù)類型 typeof操作符  
如果變量的值時(shí)一個(gè)對(duì)象或null,檢測(cè)類型是object

 `想知道是什么類型的對(duì)象用 instanceof`
ex:person instanceof Object如果變量是給定引用類型理张,則返回true赫蛇,如果檢測(cè)基本類型的值,則返回false雾叭,因?yàn)閌基本類型不是對(duì)象`
***
* ###執(zhí)行環(huán)境及作用域
`所有變量(包括基本類型和引用類型)都存在于一個(gè)執(zhí)行環(huán)境(也稱為作用域)當(dāng)中悟耘,
這個(gè)執(zhí)行  環(huán)境決定了變量額聲明周期,以及那一部分代碼可以訪問(wèn)其中的變量织狐。`
執(zhí)行環(huán)境定義了變量或函數(shù)有權(quán)訪問(wèn)的其他數(shù)據(jù)暂幼,決定他們各自的行為。
## `變量對(duì)象`
執(zhí)行環(huán)境的類型總共只有兩種移迫,全局和局部(函數(shù))
全局執(zhí)行環(huán)境是最外圍的一個(gè)執(zhí)行環(huán)境旺嬉,知道應(yīng)用程序退出才會(huì)被銷毀。
每個(gè)函數(shù)都有自己的執(zhí)行環(huán)境厨埋。當(dāng)執(zhí)行流進(jìn)入一個(gè)函數(shù)時(shí)鹰服,函數(shù)的環(huán)境會(huì)被推入到一個(gè)環(huán)境棧中,執(zhí)行之后揽咕,棧將其環(huán)境退出,把控制權(quán)返回給之前的執(zhí)行環(huán)境套菜。

 ## `延長(zhǎng)作用域鏈`
catch語(yǔ)句亲善,創(chuàng)建一個(gè)新的變量對(duì)象
with語(yǔ)句

## `沒(méi)有塊級(jí)作用域`
if語(yǔ)句:if語(yǔ)句中的變量聲明會(huì)將變量添加到當(dāng)前的執(zhí)行環(huán)境
for語(yǔ)句:for語(yǔ)句初始化變量的表達(dá)式所定義的變量即使在for循環(huán)結(jié)束后,依舊會(huì)存在于循環(huán)外部的執(zhí)行環(huán)境中逗柴。
     ## `es6有塊級(jí)作用域`

 ## `聲明變量`
使用var聲明的變量會(huì)自動(dòng)添加到函數(shù)的局部環(huán)境中蛹头;如果__初始化__沒(méi)有使用var聲明,該變量會(huì)自動(dòng)變添加到全局環(huán)境戏溺。

  ## `查詢標(biāo)識(shí)符`
***
* #####垃圾收集`
執(zhí)行環(huán)境會(huì)負(fù)責(zé)管理代碼執(zhí)行過(guò)程中使用的內(nèi)存渣蜗。
局部變量只在函數(shù)執(zhí)行的過(guò)程中存在 

 `標(biāo)記清除
引用計(jì)數(shù)
性能問(wèn)題
管理內(nèi)存`

 __基本類型值__在內(nèi)存中占據(jù)固定大小,因此被保存在棧內(nèi)存中旷祸;
從一個(gè)變量向另一個(gè)變量復(fù)制基本類型的值耕拷,會(huì)創(chuàng)建這個(gè)值的一個(gè)副本。

 __引用類型值__是對(duì)象托享,保存在堆內(nèi)存中骚烧。`
包含引用類型值的變量實(shí)際上包含的并不是對(duì)象本身浸赫,而是一個(gè)指向該對(duì)象的指針。
****

* #####引用類型
引用類型的值(對(duì)象)是引用實(shí)例的一個(gè)實(shí)例赃绊。
引用類型是一種__數(shù)據(jù)結(jié)構(gòu)__既峡,用于將數(shù)據(jù)和功能組織在一起,有時(shí)候也被稱為對(duì)象定義碧查,因?yàn)樗麄兠枋龅氖且活悓?duì)象所具有的屬性和方法运敢。

新對(duì)象是使用new操作符后跟這個(gè)一個(gè)構(gòu)造函數(shù)來(lái)創(chuàng)建的。
1.  ``` javascript
    var person = new Object();```
2.對(duì)象字面量表示法(key value)

var person={
"name":"hello"
"age":20;
};```
里面的屬性名會(huì)自動(dòng)轉(zhuǎn)換成字符串

訪問(wèn)對(duì)象屬性:

點(diǎn)表示法
person.name
括號(hào)表示法
person["name"]


  • Array類型

數(shù)據(jù)的有序列表忠售,數(shù)據(jù)的每一項(xiàng)可以保存任何類型的數(shù)據(jù)
var colors = new Array(20);//長(zhǎng)度為20的數(shù)組
var colors = new Array("red","blue","green");
可選擇省去new

  • 數(shù)組字面量表示方法

var colors=["red","blue"]

* 檢測(cè)數(shù)組
`Array.isArray() `確定某個(gè)值到底是不是數(shù)組
*轉(zhuǎn)換方法
`toLocaleString()` `toString()` `valueOf()`

  ## `棧方法`
棧是一種LIFO(LAST-IN-FIRST-OUT*__后進(jìn)先出__*)的數(shù)據(jù)結(jié)構(gòu)传惠,也就是最新添加的項(xiàng)最早被移除。
而棧中項(xiàng)的插入(推入)和移除(彈出)档痪,只發(fā)生在棧的頂部涉枫。
`push()`接收任意數(shù)量的參數(shù),把他們逐個(gè)添加到數(shù)組末尾腐螟,并返回修改后數(shù)組的長(zhǎng)度愿汰。
`pop()`從數(shù)組的末端移除最后一項(xiàng),減少數(shù)組的length值乐纸,然后返回移除項(xiàng)

  ##`列隊(duì)方法`
列隊(duì)數(shù)據(jù)結(jié)構(gòu)的訪問(wèn)規(guī)則是FIFO(FIRST-IN-FIRST-OUT*__先進(jìn)先出__*)列隊(duì)在列表末端添加項(xiàng)衬廷,從列表的前端移除項(xiàng)。
  模擬列隊(duì)
  `push()`末端添加 
`shift()`前端刪除  取得第一項(xiàng)刪除
  `unshift()`前端添加
`pop()`末端刪除

  ##`重排序方法`
  `reverse() `反轉(zhuǎn)數(shù)組順序
`sort()`比較的是字符串
接收一個(gè)比較函數(shù)作為參數(shù)汽绢,以便我們指定那個(gè)值位于那個(gè)值的前面吗跋。

  ##`操作方法`
  `contat()`方法可以基于當(dāng)前數(shù)組中的所有項(xiàng)創(chuàng)建一個(gè)新數(shù)組。
`slice()`方法slice() 方法可提取字符串的某個(gè)部分宁昭,并以新的字符串返回被提取的部分,可以基于當(dāng)前數(shù)組中的一或多個(gè)項(xiàng)創(chuàng)建一個(gè)新的數(shù)組跌宛。如果只有一個(gè)參數(shù)的情況下,slice()方法返回從該參數(shù)指定位置開始到當(dāng)前數(shù)組末尾的所有項(xiàng)积仗。如果有兩個(gè)參數(shù)疆拘,該方法返回起始和結(jié)束位置之間的項(xiàng),但不包括結(jié)束位置的項(xiàng)寂曹。
```javascript
      <script type="text/javascript">
      var str="Hello happy world!"
      document.write(str.slice(6,11));//happy
      </script>

splice()方法主要用途是向數(shù)組的中部插入項(xiàng)
刪除哎迄、插入、替換

位置方法

兩個(gè)方法都接收兩個(gè)參數(shù):要查找的項(xiàng)和(可選的)表示查找起點(diǎn)位置的索引
indexOf()從數(shù)組的開頭開始向后查找
lastIndexOf()則相反

迭代方法

每一項(xiàng)上運(yùn)行的函數(shù)和運(yùn)行該函數(shù)的作用域?qū)ο?br> every()隆圆、filter()漱挚、forEach()map()渺氧、some()

縮小方法

迭代數(shù)組所有項(xiàng)
縮小數(shù)組的方法 接收兩個(gè)參數(shù):一個(gè)在每一項(xiàng)上調(diào)用的函數(shù)和(可選的)作為縮小基礎(chǔ)的初始值旨涝,函數(shù)接受四個(gè)參數(shù):前一個(gè)值、當(dāng)前值侣背、項(xiàng)的索引和數(shù)組對(duì)象
reduce()從數(shù)組的第一項(xiàng)開始遍歷
reduceRight()從數(shù)組的最后一項(xiàng)開始遍歷


  • Date類型
var now = new Date();```

`Date.parse()` 接收一個(gè)表示日期的字符串參數(shù),并返回相應(yīng)的毫秒數(shù)
`Date.UTC()`(一月是0)

  ##`繼承的方法`

##`日期格式化`
##`日期/時(shí)間組件方法`
***
* #####RegExp類型
用來(lái)支持__正則表達(dá)式__
Perl
```javascript
var experssion =/pattern(模式)/flags(標(biāo)志);```
3個(gè)標(biāo)志:
`g`:全局模式
`i`:不區(qū)分大小寫的模式
`m`:多行模式
      `一個(gè)正則表達(dá)式是一個(gè)模式和3個(gè)標(biāo)志的組合體`
模式中所使用的所有元字符都必須轉(zhuǎn)移
`([{\^$|)?*+.]}`

****

* #####Function類型
      `函數(shù)實(shí)際上是對(duì)象颊糜。`

* 函數(shù)本身就是變量哩治,所以函數(shù)也可以作為值來(lái)使用,可以像傳遞參數(shù)把一個(gè)函數(shù)傳遞給另一個(gè)函數(shù)衬鱼,而且可以將一個(gè)函數(shù)作為另一個(gè)函數(shù)的結(jié)果返回 

  ##`函數(shù)內(nèi)部屬性`
兩個(gè)特殊的對(duì)象:`arguments`和`this`

  ##`callee屬性业筏,階乘函數(shù)(遞歸算法)`
__this__引用的是函數(shù)數(shù)據(jù)以執(zhí)行的環(huán)境對(duì)象
函數(shù)名字僅僅是一個(gè)包含指針的變量而已

  ##`函數(shù)屬性和方法`
屬性:length(函數(shù)希望接受命名參數(shù)的個(gè)數(shù))
__prototype__是保存引用類型所有實(shí)例方法的真正存在。prototype是不可枚舉的鸟赫,因此使用for-in無(wú)法發(fā)現(xiàn)
`apply()` 
 `call()`
 `bind()`

  ##`基本包裝類型`
作用域的兩個(gè)內(nèi)置對(duì)象:  `Global` 和`Math`
Global--window對(duì)象
Math對(duì)象 輔助完成復(fù)雜的數(shù)學(xué)計(jì)算法

  ##`面向?qū)ο骮
修改屬性默認(rèn)的特性:`object.defineProperty()`蒜胖,如果不指定特性的默認(rèn)值,都是false
訪問(wèn)器的屬性
getter setter

  定義多個(gè)屬性
`Object.defineProperties()`

  讀取屬性的特性
`Object.getOwnPropertyDescriptor()`
***
* #####創(chuàng)建對(duì)象

* 工廠模式 
用函數(shù)來(lái)封裝以特定接口創(chuàng)建對(duì)象的細(xì)節(jié)抛蚤,可以無(wú)數(shù)次的調(diào)用這個(gè)函數(shù)台谢。

* 構(gòu)造函數(shù)模式,創(chuàng)建特定類型的對(duì)象
構(gòu)造函數(shù)始終以一個(gè)大寫字母開頭岁经,而非構(gòu)造函數(shù)則以一個(gè)小寫字母開頭
構(gòu)造函數(shù)本身也是函數(shù)朋沮,只不過(guò)可以用來(lái)創(chuàng)建對(duì)象
      `任何函數(shù),只要通過(guò)new操作符來(lái)調(diào)用缀壤,那它就可以作為構(gòu)造函數(shù)`

  ##`函數(shù)表達(dá)式`
  ##`函數(shù)聲明`
  ##`函數(shù)聲明提升`
執(zhí)行代碼之前會(huì)先讀取函數(shù)聲明
`function funName(){}`可以 

  ##`函數(shù)表達(dá)式(匿名函數(shù)/拉姆達(dá)函數(shù))`
使用函數(shù)之前需要先賦值
```javascript
  var funName=function(arg0,arg1,arg2){}```
***
* #####遞歸
遞歸函數(shù)是在一個(gè)函數(shù)通過(guò)名字調(diào)用自身的情況構(gòu)成的樊拓。
arguments.callee是一個(gè)指向正在執(zhí)行的函數(shù)的指針,在嚴(yán)格模式下塘慕,不能通過(guò)腳本訪問(wèn)arguments.callee筋夏,訪問(wèn)這個(gè)屬性會(huì)導(dǎo)致錯(cuò)誤
***
* #####閉包
閉包是指有權(quán)訪問(wèn)另一個(gè)函數(shù)作用域中的變量的函數(shù)(在函數(shù)內(nèi)部創(chuàng)建另一個(gè)函數(shù)),閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)图呢,是將函數(shù)內(nèi)部和函數(shù)外部連接起來(lái)的一座橋梁

  每次定義一個(gè)函數(shù)条篷,都會(huì)產(chǎn)生一個(gè)作用域鏈(scope chain)。當(dāng)JavaScript尋找變量varible時(shí)(這個(gè)過(guò)程稱為變量解析)蛤织,總會(huì)優(yōu)先在當(dāng)前作用域鏈的第一個(gè)對(duì)象中查找屬性varible 赴叹,如果找到,則直接使用這個(gè)屬性指蚜;否則乞巧,繼續(xù)查找下一個(gè)對(duì)象的是否存在這個(gè)屬性;這個(gè)過(guò)程會(huì)持續(xù)直至找到這個(gè)屬性或者最終未找到引發(fā)錯(cuò)誤為止
***
* #####關(guān)于this對(duì)象
      在全局函數(shù)中姚炕,this等于window,而當(dāng)函數(shù)作為某個(gè)對(duì)象的方法調(diào)用的時(shí)候丢烘,this等于那個(gè)對(duì)象柱宦。
匿名函數(shù)的執(zhí)行環(huán)境具有全局性,因此其this對(duì)象通常指向window播瞳。
`parameter`是指函數(shù)定義中參數(shù)掸刊,而`argument`指的是函數(shù)調(diào)用時(shí)的實(shí)際參數(shù)。
parameter=形參(formal parameter)赢乓, argument=實(shí)參(actual parameter)忧侧。

    `Javascript語(yǔ)言特有的"鏈?zhǔn)阶饔糜?結(jié)構(gòu)(chain scope)石窑,子對(duì)象會(huì)一級(jí)一級(jí)地向上尋找所有父對(duì)象的變量。所以蚓炬,父對(duì)象的所有變量松逊,對(duì)子對(duì)象都是可見的,反之則不成立肯夏。`

        在函數(shù)內(nèi)部沒(méi)有var的變量是全局變量经宏。

* 待續(xù)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市驯击,隨后出現(xiàn)的幾起案子烁兰,更是在濱河造成了極大的恐慌,老刑警劉巖徊都,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沪斟,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡暇矫,警方通過(guò)查閱死者的電腦和手機(jī)主之,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)袱耽,“玉大人杀餐,你說(shuō)我怎么就攤上這事≈炀蓿” “怎么了史翘?”我有些...
    開封第一講書人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)冀续。 經(jīng)常有香客問(wèn)我琼讽,道長(zhǎng),這世上最難降的妖魔是什么洪唐? 我笑而不...
    開封第一講書人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任钻蹬,我火速辦了婚禮,結(jié)果婚禮上凭需,老公的妹妹穿的比我還像新娘问欠。我一直安慰自己,他們只是感情好粒蜈,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開白布顺献。 她就那樣靜靜地躺著,像睡著了一般枯怖。 火紅的嫁衣襯著肌膚如雪注整。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,079評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音肿轨,去河邊找鬼寿冕。 笑死,一個(gè)胖子當(dāng)著我的面吹牛椒袍,可吹牛的內(nèi)容都是我干的驼唱。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼槐沼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼曙蒸!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起岗钩,我...
    開封第一講書人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤纽窟,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后兼吓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體臂港,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年视搏,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了审孽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡浑娜,死狀恐怖佑力,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情筋遭,我是刑警寧澤打颤,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站漓滔,受9級(jí)特大地震影響编饺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜响驴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一透且、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧豁鲤,春花似錦秽誊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至日熬,卻和暖如春棍厌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背竖席。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工耘纱, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人毕荐。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓束析,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親憎亚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子员寇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容