函數(shù)

求每個(gè)班級(jí)的男女比率

//1班學(xué)生
var students1 = [{
    name:'魏文慶'宠页,
    gender:1
},{
    name:'蔡劍飛',
    gender:1
},{
    name:'張賢'肛炮,
    gender:0
}
//...
];

//2班同學(xué)
var students2 = [{
    name:'陸忠芳'惊橱,
    gender:0
},{
    name:'嚴(yán)躍杰'蚪腐,
    gender:1
},{
    name:'胡雪亮',
    gender:1
}
//...
];
//求1班的男女比率
var maleCount1 = 0,
    femaleCount1 = 0,
    length1 = students1.length,
    students1,
    ratiol;//比率
//遍歷1班的學(xué)生
for(var i = 0l i < length1; i++){
    student1 = students1[i];
    if (student1.gender === 1){
    //如果是男生税朴,男生數(shù)量加1
        maleCount1++;
    }else{
    //否則女生數(shù)量加1
        femaleCount1++;
    }
}
ratio1 = maleCount1/femaleCount1;
//求2班的男女比率
var maleCount2 = 0,
    femaleCount2 = 0,
    length2 = students2.length,
    students2,
    ratiol;//比率
//遍歷2班的學(xué)生
for(var i = 0l i < length2; i++){
    student2 = students2[i];
    if (student1.gender === 1){
    //如果是男生回季,男生數(shù)量加1
        maleCount2++;
    }else{
    //否則女生數(shù)量加1
        femaleCount2++;
    }
}
ratio2 = maleCount2/femaleCount2;
function ratio(students){
    var maleCount = 0,
         femaleCount = 0,
         length = students.length,
         student,
         ratio;
    for (var i = 0;i < length; i++){
        student = students[i];
        if(student.gender === 1){
            maleCount++;
        }else{
            femaleCount++;
        }
   }
   ratio = maleCount / femaleCount;
   return ratio;
}

var ratio1 = ratio(students1);
var ratio2 = ratio(students2);
var ratio3 = ratio(students3);
...

函數(shù)語(yǔ)法

function add(number0,number1){
    var sum = number0 + number1;
    return sum;
}
var x = add(2,3);

function 函數(shù)名(形參列表){
    執(zhí)行代碼
}
函數(shù)名([實(shí)參列表])

函數(shù)定義

//1.函數(shù)聲明
function add(number0,number1){
    var sum = number0 + number1;
   return sum;
}

//2.函數(shù)表達(dá)式
var add = function(number0,number1){
    var sum = number0 + number1;
    return sum;
}
var x = add(4,6);//10

函數(shù)調(diào)用

function add(number0,number1){//number0=2,number1=3把實(shí)參列表復(fù)制給了形參列表
    var sum = number0 + number1;//sum = 5
    return sum;
}
var x = add(2,3);//x=5

函數(shù)參數(shù)

//實(shí)參數(shù)量少于形參時(shí)
function add(number0,number1){ //number0 = 2,number1 = undefined
    var sum = number0 + number1; //
    return sum;
}
var x = add(2);//NaN

//實(shí)參數(shù)量多于形參
function add(number0,number1){ //number0 = 2,number1 = 3
    var sum = number0 + number1; //
    return sum;
}
var x = add(2,3,4);//5

調(diào)用函數(shù)時(shí),有個(gè)隱藏的變量


//參數(shù)不定的代碼求和
add(2,3);//5
add(2,3,4);//9
add(2,3,4,5);//14

function add(){
    var length = arguments.length,
         sum = 0,
         parameter;//參數(shù)
    for(var i = 0;i < length;i++){
        parameter = arguments[i];
        sum = sum + parameter;
    }
    return sum;
}
//參數(shù)為原始類(lèi)型:值傳遞
function increment(number){
    number = number +1正林;
    return number;
}
var a = 1;
var x = increment(a);//2
a;//1

//參數(shù)為對(duì)象類(lèi)型:引用傳遞泡一,在函數(shù)中修改對(duì)象會(huì)影響到原對(duì)象
function increment(person){
    person.age = person.age + 1;
    return person;
}

var jerry = {name:'jerry',age:1};
var x = increment(jerry);//{name:'jerry',age:2}
jerry;//{name:'jerry',age:2}

作用域

var zhoujielun = {
    name:"周杰倫",
    gender:1
};
//函數(shù)創(chuàng)建了一個(gè)作用域,變量的作用域其實(shí)就是限制了變量起作用的范圍
function class1(){
    var zhoujielun = {
        name:"周杰倫",
        gender:0
    };
    zhoujielun.name = "周杰";
    zhoujielun.gender = 1;
}
class1();
zhoujielun;//{name: "周杰倫", gender: 1}

var zhoujielun = {
    name:"周杰倫",
    gender:1
};
function class1(){
    zhoujielun.name = "周杰";
    zhoujielun.gender = 1;
}
class1();
zhoujielun;//{name: "周杰", gender: 1}

作為對(duì)象屬性

var point = {
    x:1;
    y:1;
    move:function(stepX,stepY){
        //point.x += stepX;
        //point.y += stepY;
        this.x += stepX;
        this.y += stepY; 
        //this表示調(diào)用這個(gè)函數(shù)的對(duì)象  
    }
};
point.move(2,1);//(3,2)

構(gòu)造函數(shù)

function Point(x,y){                               //創(chuàng)建一個(gè)空對(duì)象{}
    this.x = x;                                        //{x:1}
    this.y = y;                                        //{x:1,y:1}
    this.move = function(stepX,stepY){  //{x:1,y:1,move:function(stepX,stepY){}}
        this.x += stepX;
        this.y += stepY;
    }
}
//構(gòu)造函數(shù)的返回結(jié)果相當(dāng)于return了this
var point = new Point(1,1);//{x:1,y:1,move:function(stepX,stepY){}}
var point2 = new Point(2,2);//{x:2,y:2,move:function(stepX,stepY){}}
var point3 = new Point(3,3);//{x:3,y:3,move:function(stepX,stepY){}}
//只需要?jiǎng)?chuàng)建一個(gè)move方法公用

原型

function Point(x,y){
    this.x = x;
    this.y = y;
}
Point.prototype.move = function(stepX,stepY){
    this.x += stepX;
    this.y += stepY;
};
var point = new Point(1,1); //{x:1,y:1}
point.move(2,1);//{x:3,y:2} 構(gòu)造出來(lái)的這個(gè)對(duì)象肯定是有個(gè)隱藏的屬性觅廓,指向它公共的地方鼻忠,指向它構(gòu)造函數(shù)的原型屬性
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市杈绸,隨后出現(xiàn)的幾起案子帖蔓,更是在濱河造成了極大的恐慌,老刑警劉巖瞳脓,帶你破解...
    沈念sama閱讀 219,110評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件塑娇,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡劫侧,警方通過(guò)查閱死者的電腦和手機(jī)埋酬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)哨啃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人写妥,你說(shuō)我怎么就攤上這事拳球。” “怎么了珍特?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,474評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵醇坝,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我次坡,道長(zhǎng)呼猪,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,881評(píng)論 1 295
  • 正文 為了忘掉前任砸琅,我火速辦了婚禮宋距,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘症脂。我一直安慰自己谚赎,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,902評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布诱篷。 她就那樣靜靜地躺著壶唤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪棕所。 梳的紋絲不亂的頭發(fā)上闸盔,一...
    開(kāi)封第一講書(shū)人閱讀 51,698評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音琳省,去河邊找鬼迎吵。 笑死,一個(gè)胖子當(dāng)著我的面吹牛针贬,可吹牛的內(nèi)容都是我干的击费。 我是一名探鬼主播,決...
    沈念sama閱讀 40,418評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼桦他,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蔫巩!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起快压,我...
    開(kāi)封第一講書(shū)人閱讀 39,332評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤圆仔,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后嗓节,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體荧缘,經(jīng)...
    沈念sama閱讀 45,796評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡皆警,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,968評(píng)論 3 337
  • 正文 我和宋清朗相戀三年拦宣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,110評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鸵隧,死狀恐怖绸罗,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情豆瘫,我是刑警寧澤珊蟀,帶...
    沈念sama閱讀 35,792評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站外驱,受9級(jí)特大地震影響育灸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜昵宇,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,455評(píng)論 3 331
  • 文/蒙蒙 一磅崭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧瓦哎,春花似錦砸喻、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,003評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至犯助,卻和暖如春癣漆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背剂买。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,130評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工扑媚, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人雷恃。 一個(gè)月前我還...
    沈念sama閱讀 48,348評(píng)論 3 373
  • 正文 我出身青樓疆股,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親倒槐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子旬痹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,047評(píng)論 2 355

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