1.函數瀏覽器
1.1匿名函數服務器
函數聲明函數 function fn(){ }this |
函數表達式編碼 var fun=function(){ }spa |
函數名稱和函數名稱()的區別code
fun/fn fun()/fn()視頻
函數名稱是一個變量,對應的是函數的結構對象
函數名稱()是函數的調用,會執行函數體,獲得返回值遊戲
對比函數聲明和函數表達式的區別
函數聲明建立的函數存在提高,能夠在所在做用域任意位置調用
函數表達式建立的函數只存在變量的提高,必須先建立再調用
1.2匿名函數自調用
目的: 建立函數做用域,防止污染全局
(function(形參列表){ //函數體,封裝的代碼不會污染全局 })(實參列表); |
1.3回調函數
將匿名函數以實參的形式傳遞
function fn(a){ //調用fn的時候,匿名函數會賦給形參a,a就是函數名稱;a()就是調用傳遞的匿名函數 } fn( function(){ ... } ) |
.1.4全局函數
Number()/parseInt()/parseFloat()/isNaN()
isFinite() 檢測一個值是否爲有限值 true->有限值 false->無限值
1/0 -> Infinity 無窮,0作除數返回無限值
encodeURI() 編碼一個字符串爲URI
decodeURI() 解碼URI爲一個字符串
編碼和解碼主要是針對於漢字和部分英文字符
eval() 執行字符串中的表達式
2.對象
屬於引用類型數據
對象: 是一組屬性(property)和方法(method)的集合
一我的: 屬性有身高,體重,姓名...方法有唱歌,敲代碼...
一部手機: 屬性有品牌,尺寸,顏色...方法有看視頻,玩遊戲,辦公...
萬物皆對象
(1)JS中的對象
內置對象: JS提供的
宿主對象: 根據不一樣的執行環境劃分,分服務器端和瀏覽器端
自定義對象: 用戶建立的對象
(2)自定義對象
對象字面量
內置構造函數
自定義構造函數
(3)使用對象字面量建立對象
使用大括號建立空對象
屬性名和屬性值之間用冒號隔開
多組屬性之間用逗號隔開
屬性名中引號可加可不加,若是含有特殊字符比價添加
(4)訪問對象中的屬性
對象.屬性名
對象['屬性名']
若是屬性不存在,返回undefined
(5)使用內置構造函數建立對象
new Object() 建立一個空對象
須要訪問對象中屬性,並添加每一項
(6)遍歷對象中的屬性
依次訪問對象中的每一個屬性,是一個循環
for(var key in 對象){ key 表明對象中每一個屬性名 對象[key] 屬性名對應的屬性值 } |
(7)對象中的方法
var person={ name:'tom', say: function(){ this.name //this 默認指代當前所在的對象 } } person.say(); //調用對象中的方法 |