物件:是由函式名(鍵名)和屬性值(鍵值)組成的資料
js的執行順序:
1.語法分析
查詢出語法錯誤
2.預編譯
生成ao(activation object)物件 {} ==
形參和變數作為ao物件的鍵名(屬性名),屬性值是undefined
實參賦值給形參
函式宣告作為ao物件的函式名,把函式作為鍵名賦值給這個屬性名
3.執行js**
作用域==>js**執行的環境
1.作用域
2.函式作用域
閉包的用處:
實現累加值==》對父級函式內部變數的操作
可以做快取
構建模組化例項
私有化變數
什麼是閉包:
當內部函式被儲存在外部時,由於內部函式的作用域鏈上存在內部函式建立時的環境(即父級函式和祖先函式的ao物件,全域性物件go),導致內部函式可以順著作用域鏈尋找變數,所以形成了閉包,同時內部函式的作用域鏈上(即父級函式和祖先函式的ao物件,全域性物件go)無法被垃圾**機制**,導致了記憶體洩漏。
函式宣告轉換成函式表示式
第一種
(function()
)(/*函式表示式外加乙個括號就可以執行*/)
(function()
(/*括號寫在裡面也可以執行*/))
第二種
!function()
第三種
~function()
第四種
+function()
第五種
-function()
立即執行函式==》一次性函式
特點:只執行一次,在函式執行結束後,整個函式從記憶體中銷毀,不佔據記憶體空間
(function init(a,b,c))(2,3,4,)
例子:
var obj=
物件的增添改查:
obj['height']='18厘公尺'//新增鍵名
obj.height='18厘公尺'//新增鍵值值
delete obj.height//刪除鍵值
obj.height='8厘公尺'//改變鍵值
obj.height//查詢鍵值
遍歷物件的方式
for (var key in obj)
字串的常用方法
var str='hello'
str.charat(索引值)//獲取字串索引位置的字元
str.charcode(索引值)//獲取字串索引位置的字元的unicode編碼(0:48 a:97 a:66)
var a =string.fromcharcode(unicode編碼)//用unicode編碼來查到對應的字元
str.toupperccase()//把字串變大寫,返回的是乙個新的字串,沒有改變原來的字串
str.tolowercase()//與touppercase相對變小寫,返回的是乙個新的字串,沒有改變原來的字串
str.indexof(字元)//從左到右查詢,返回字元在str中的位置,如果返回的值是-1,就說明字元不在str中
str.lastindexof(字元)//從右到左,返回字元在str中的位置,如果返回的值是-1,就說明字元不在str中
模擬js自帶的touppercase
遍歷字串
判斷如果是小寫字母就變大寫
把結果丟擲來
function myupper(target)
else
}return newstr;
} myupper(str);
字串的擷取
var str='hello'
str.substr(n,m)//從索引n開始擷取m個字母
str.slice(n,m)//從索引n開始擷取m-n個字母,支援負值索引(最後乙個字母是-1,往前數-2,-3,等等)
str.substring(n,m)//從索引n開始擷取m-n個字母,不支援負值索引
str.split(字元)//用指定的字元來分割字串
(如:str.split(e) 結果:['h','llo'])
str.replace(x,y)//用x來代替原字串中的y
去除字串中的空格
str.trimleft()//去除字串開始的空格
str.trimright()//去除字串結束的空格
str.trim()//去除字串開始和結束的空格
合併字串
str.concat(字元)//將指定字元或字串合併到原字串的尾部
學習筆記一
lisp 最重要的一種執行模式之一 repl that endless cycle of reading,evaluating,and printing is why it s called the read eval print loop or repl.第乙個lisp程式 在repl模式下執行l...
學習筆記 一
什麼是seo?搜尋引擎優化 search engine optimization,簡稱seo 是一種利用搜尋引擎的搜尋規則來提高目的 在有關搜尋引擎內的排名的方式。深刻理解是 通過seo這樣一套基於搜尋引擎的營銷思路,為 提供生態式的自我營銷解決方案,讓 在行業內佔據領先地位,從而獲得品牌收益。研究...
學習筆記一
今天兩節課,也就是兩個問題的分析裝配線排程問題和矩陣鏈相乘ai,j中的 i,j 分別表示的是第 i 條線路的第 j 個步驟,每個線路每條步驟都有不同的用時,還有t i j中的 i,j 表示的就是從第 i 條線路第 j 步到達另外一條線路的第 j 1 步要用的時間,我們可以用如下 表示每一步花費的時間...