函數(shù)
代碼塊中存儲一段用于處理單任務(wù)的代碼,然后在任何需要的時(shí)候用一個(gè)簡短的命令來調(diào)用
JavaScript有許多內(nèi)置的函數(shù),瀏覽器函數(shù)不是核心JavaScript語言的一部分而是被定義為瀏覽器API的一部分
方法
函數(shù)稱為對象方法(method)的一部分,內(nèi)置瀏覽器函數(shù)并不是函數(shù)——它們是方法
自定義函數(shù)
自身根據(jù)需求來定義的函數(shù)
調(diào)用函數(shù)
后跟圓括號來完成的調(diào)用
function demoFunction() {
alert('hi function!');
}
demoFunction()
匿名函數(shù)
沒有名字的函數(shù)就是匿名函數(shù)
function() {
alert('no name');
}
通常將匿名函數(shù)與事件處理程序一起使用
函數(shù)參數(shù)
var demoText = 'I am a boy';
var newText = demoText.replace('boy', 'girl');
'boy', 'girl' 就是replace函數(shù)的參數(shù)
函數(shù)返回值
指函數(shù)執(zhí)行完畢后返回的值
var demoText = 'I am a string';
var demoString = myText.replace('string', 'demo');
console.log(demoString);
上面的內(nèi)容保存了返回值,以作為demoString變量的內(nèi)容
使用返回值
使用return關(guān)鍵字
function randomNumber(number) {
return Math.floor(Math.random()*number);
}
事件
事件是編程時(shí)系統(tǒng)內(nèi)發(fā)生的動作或者發(fā)生的事情,系統(tǒng)會在事件出現(xiàn)時(shí)產(chǎn)生或觸發(fā)某種信號,并且會提供一個(gè)自動加載某種動作,每個(gè)可用的事件都會有一個(gè)事件處理器,事件處理器有時(shí)候被叫做事件監(jiān)聽器
對象
對象是一個(gè)包含相關(guān)數(shù)據(jù)和方法的集合,創(chuàng)建一個(gè)對象通常先定義初始化變量
var person = {};
豐富一下對象
var person = {
name : ['伊洛', 'Yiluo'],
age : 19,
gender : 'male',
interests : ['games', 'shopping'],
contact : '微信搜索:伊洛的小屋',
greeting: function() {
alert('Hi! I\'m ' + this.name[0] + '.');
}
};
然后調(diào)用一下
person.name[0]
person.age
person.greeting()
查看調(diào)用的結(jié)果
person.name[0]
"伊洛"
person.age
19
person.greeting
? () {
alert('Hi! I\'m ' + this.name[0] + '.');
}
person.contact;
"微信搜索:伊洛的小屋"
person.greeting()
undefined
點(diǎn)表示法
在上面的例子中,使用了點(diǎn)表示法(dot notation)來訪問對象的屬性和方法,對象的名字必須寫在第一位,
括號表示法
使用括號表示法(bracket notation),對象做了字符串到值的映射,例如
person['age']
person['name']['age']
"this"的含義
關(guān)鍵字"this"指向了當(dāng)前代碼運(yùn)行時(shí)的對象。
原型的語言
JavaScript 常被描述為一種基于原型的語言 (prototype-based language),準(zhǔn)確地說,這些屬性和方法定義在Object的構(gòu)造器函數(shù)(constructor functions)之上的prototype屬性上,而非對象實(shí)例本身
JSON
Json一種按照J(rèn)avaScript對象語法的數(shù)據(jù)格式,JSON可以作為一個(gè)對象或者字符串存在,擴(kuò)展名為 .json
JSON結(jié)構(gòu)
demoObj = {
"name":"伊洛Yiluo",
"zone":"微信搜索:伊洛的小屋",
"sites": {
"site1":"https://yiluotalk.com/",
"site2":"https://yiluotalk.com/",
"site3":"https://yiluotalk.com/"
}
}