成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

《 JavaScript程序設(shè)計》—— 第五章 函數(shù)總結(jié)及練習(xí)

genefy / 3075人閱讀

摘要:在編寫處理對象的函數(shù)時,必須做出決定是希望這個函數(shù)修改其對象實參的的屬性,還是返回新對象。高階函數(shù)就是以形參或者返回函數(shù)的函數(shù),他們可以簡化集中程序設(shè)計任務(wù),可以減少腳本中的共同代碼數(shù)量。編寫一個函數(shù),返回一個給定字符在字符串中的出現(xiàn)次數(shù)。

主要總結(jié):

函數(shù)值是一個帶有參數(shù)的代碼塊,可以根據(jù)需要任意運行(調(diào)用)

調(diào)用一個函數(shù),我們會向它的形參傳送實參。多余的形參會被轉(zhuǎn)換為undefined。函數(shù)可以通過return語句向調(diào)用者返回結(jié)果。如果從來沒有執(zhí)行過return語句,則默認(rèn)返回undefined。

一種好的編程實踐是:在為函數(shù)做注釋時,應(yīng)當(dāng)說明這個函數(shù)做些什么,而不是它如何做。

在編寫處理對象的函數(shù)時,必須做出決定:是希望這個函數(shù)修改其對象實參的的屬性,還是返回新對象。

JavaScript變量要么具有全局作用域,要么具有函數(shù)(局部)作用域。

JavaScript有兩個屬性:lengthprototypeprototype對象用于存儲一些屬性,可供該函數(shù)創(chuàng)建的所有對象訪問,實際上就是允許定義新類型。我們可以向函數(shù)提供更多屬性。

有的函數(shù)可以作為對象的屬性,有的函數(shù)可以通過this引用表達(dá)式引用對象的其他屬性,這種函數(shù)稱為方法。方法時OOP的核心概念。

高階函數(shù)就是以形參或者返回函數(shù)的函數(shù),他們可以簡化集中程序設(shè)計任務(wù),可以減少腳本中的共同代碼數(shù)量。

函數(shù)可以用函數(shù)聲明定義,可以直接使用函數(shù)表達(dá)式定義,也可以通過變量或?qū)ο髮傩灾付ê瘮?shù)表達(dá)式定義。函數(shù)聲明雖然方便,卻不能在某些上下文中使用,其作用域規(guī)則不夠直觀,會模糊一個事實:函數(shù)就是值,與其他值沒有區(qū)別

練習(xí):

編寫一個函數(shù),返回兩個實參的最大值。

        function large(x,y) {
            return x>y ? x : y;
        };

編寫一個函數(shù),返回兩個實參的平均值。

        function mean(m1,m2) {
            return (m1+m2)/mean.length
        };

編寫一個函數(shù),返回一個數(shù)組中所有項目的平均值。

        function arrMean(arr) {
            var sum = 0;
            for (var i=0;i

解釋運行以下腳本結(jié)果,回答中應(yīng)當(dāng)涉及"結(jié)合律"一詞

        var cubeOf = function (x) {
            return x*x*x;
        };
        alert("魔方中共有:"+cubeOf(3)-1+" 個立方體");

我們分析一下alert中的語句,從左至右,第一個是字符串,后接一個加號,則說明此加號是做字符串連接符使用。繼續(xù)往右,函數(shù)調(diào)用優(yōu)先級是比加號高的,所以先執(zhí)行函數(shù)調(diào)用,返回一個數(shù)字,再相加。此時應(yīng)該是"....:27",注意接下來,一對字符串與一個類型為數(shù)值的數(shù)字做減號運算得到什么?我們知道,這其實是隱式轉(zhuǎn)換數(shù)值的方法之一,所以JS會嘗試把之前所以的字符串轉(zhuǎn)換成數(shù)值類型來與1進(jìn)行計算,不信試一下alert("15"-1)。但是失敗了,所以會轉(zhuǎn)換為NaN,注意,此時數(shù)值類型是number,alert(typeof NaN),然后NaN與后面字符串繼續(xù)相加,又轉(zhuǎn)換成了字符串類型。最后得到一個類型為字符串的字符串。

編寫一個函數(shù),接受兩個數(shù)字,并返回介于這兩個值之間的一個隨機數(shù)

        function random(n1,n2) {
            var randomArr = [];
            if (n1>n2) {
                for (var i=n2+1;i

編寫一個函數(shù)接受三個值,并返回其中值。三個數(shù)值的中值就是大于或等于另兩值的一個,小于或等于剩下的那個值。(尼瑪這形容)

中值也稱中位數(shù),即數(shù)據(jù)按升序或者降序排列,假如有n個數(shù)據(jù),當(dāng)n為偶數(shù)時,中位數(shù)為第n/2位數(shù)和第(n+2)/2位數(shù)的平均數(shù);如果n為奇數(shù),那么中位數(shù)為第(n+1)/2位數(shù)的值。

    function midValue(n1,n2,n3) {
        var arr = [n1,n2,n3];
        arr.sort(function (a,b) {return a-b});    // 升序排序
        return arr[((arr.length+1)/2)-1];        // 獲得奇數(shù)位中位數(shù),但由于數(shù)組計算方式所以-1
    };

編寫一個函數(shù),返回一個給定數(shù)組中0的個數(shù)。

        function numberOfZeros(arr) {
            var counter = 0;
            for (var i=0;i

編寫一個函數(shù),返回一個給定字符在字符串中的出現(xiàn)次數(shù)。

        function strNum(str,x) {
            var arr = String(str).split("");
            var num = 0;
            alert(arr)
            for (var i=0;i           
               
                                           
                       
                 

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/83054.html

相關(guān)文章

  • Javascript高級程序設(shè)計 (第三版)》五章 引用類型

    摘要:類型沒有重載聲明了兩個同名函數(shù),而結(jié)果則是后面的函數(shù)覆蓋了前面的函數(shù)。引用的是函數(shù)據(jù)以執(zhí)行的環(huán)境對象函數(shù)屬性和方法表示函數(shù)希望接收的命名參數(shù)的個數(shù)。而自動創(chuàng)建的基本包裝類型的對象,則只存在于一行代碼的執(zhí)行瞬間,然后立即被銷毀。 Function類型 沒有重載 聲明了兩個同名函數(shù),而結(jié)果則是后面的函數(shù)覆蓋了前面的函數(shù)。 var addSomeNumber = function (num)...

    GeekGhc 評論0 收藏0
  • iKcamp出品|全網(wǎng)最新|微信小程序|基于最新版1.0開發(fā)者工具之初中級培訓(xùn)教程分享

    摘要:微信小程序課程,面向所有具備前端基礎(chǔ)知識的同學(xué)官網(wǎng)訪問官網(wǎng)更快閱讀全部免費分享課程出品全網(wǎng)最新微信小程序基于最新版開發(fā)者工具之初中級培訓(xùn)教程分享。 ?? 微信小程序課程,面向所有具備前端基礎(chǔ)知識的同學(xué) ?? iKcamp官網(wǎng):http://www.ikcamp.com 訪問官網(wǎng)更快閱讀全部免費分享課程:《iKcamp出品|全網(wǎng)最新|微信小程序|基于最新版1.0開發(fā)者工具之初中級培訓(xùn)教...

    hersion 評論0 收藏0
  • iKcamp出品|全網(wǎng)最新|微信小程序|基于最新版1.0開發(fā)者工具之初中級培訓(xùn)教程分享

    摘要:微信小程序課程,面向所有具備前端基礎(chǔ)知識的同學(xué)官網(wǎng)訪問官網(wǎng)更快閱讀全部免費分享課程出品全網(wǎng)最新微信小程序基于最新版開發(fā)者工具之初中級培訓(xùn)教程分享。 ?? 微信小程序課程,面向所有具備前端基礎(chǔ)知識的同學(xué) ?? iKcamp官網(wǎng):http://www.ikcamp.com 訪問官網(wǎng)更快閱讀全部免費分享課程:《iKcamp出品|全網(wǎng)最新|微信小程序|基于最新版1.0開發(fā)者工具之初中級培訓(xùn)教...

    MRZYD 評論0 收藏0
  • iKcamp出品|全網(wǎng)最新|微信小程序|基于最新版1.0開發(fā)者工具之初中級培訓(xùn)教程分享

    摘要:微信小程序課程,面向所有具備前端基礎(chǔ)知識的同學(xué)官網(wǎng)訪問官網(wǎng)更快閱讀全部免費分享課程出品全網(wǎng)最新微信小程序基于最新版開發(fā)者工具之初中級培訓(xùn)教程分享。 ?? 微信小程序課程,面向所有具備前端基礎(chǔ)知識的同學(xué) ?? iKcamp官網(wǎng):http://www.ikcamp.com 訪問官網(wǎng)更快閱讀全部免費分享課程:《iKcamp出品|全網(wǎng)最新|微信小程序|基于最新版1.0開發(fā)者工具之初中級培訓(xùn)教...

    李昌杰 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<