摘要:在編寫處理對象的函數時,必須做出決定是希望這個函數修改其對象實參的的屬性,還是返回新對象。高階函數就是以形參或者返回函數的函數,他們可以簡化集中程序設計任務,可以減少腳本中的共同代碼數量。編寫一個函數,返回一個給定字符在字符串中的出現次數。
主要總結:
函數值是一個帶有參數的代碼塊,可以根據需要任意運行(調用)
調用一個函數,我們會向它的形參傳送實參。多余的形參會被轉換為undefined。函數可以通過return語句向調用者返回結果。如果從來沒有執行過return語句,則默認返回undefined。
一種好的編程實踐是:在為函數做注釋時,應當說明這個函數做些什么,而不是它如何做。
在編寫處理對象的函數時,必須做出決定:是希望這個函數修改其對象實參的的屬性,還是返回新對象。
JavaScript變量要么具有全局作用域,要么具有函數(局部)作用域。
JavaScript有兩個屬性:length和prototype。prototype對象用于存儲一些屬性,可供該函數創建的所有對象訪問,實際上就是允許定義新類型。我們可以向函數提供更多屬性。
有的函數可以作為對象的屬性,有的函數可以通過this引用表達式引用對象的其他屬性,這種函數稱為方法。方法時OOP的核心概念。
高階函數就是以形參或者返回函數的函數,他們可以簡化集中程序設計任務,可以減少腳本中的共同代碼數量。
函數可以用函數聲明定義,可以直接使用函數表達式定義,也可以通過變量或對象屬性指定函數表達式定義。函數聲明雖然方便,卻不能在某些上下文中使用,其作用域規則不夠直觀,會模糊一個事實:函數就是值,與其他值沒有區別
練習:編寫一個函數,返回兩個實參的最大值。
function large(x,y) { return x>y ? x : y; };
編寫一個函數,返回兩個實參的平均值。
function mean(m1,m2) { return (m1+m2)/mean.length };
編寫一個函數,返回一個數組中所有項目的平均值。
function arrMean(arr) { var sum = 0; for (var i=0;i解釋運行以下腳本結果,回答中應當涉及"結合律"一詞
var cubeOf = function (x) { return x*x*x; }; alert("魔方中共有:"+cubeOf(3)-1+" 個立方體");我們分析一下alert中的語句,從左至右,第一個是字符串,后接一個加號,則說明此加號是做字符串連接符使用。繼續往右,函數調用優先級是比加號高的,所以先執行函數調用,返回一個數字,再相加。此時應該是"....:27",注意接下來,一對字符串與一個類型為數值的數字做減號運算得到什么?我們知道,這其實是隱式轉換數值的方法之一,所以JS會嘗試把之前所以的字符串轉換成數值類型來與1進行計算,不信試一下alert("15"-1)。但是失敗了,所以會轉換為NaN,注意,此時數值類型是number,alert(typeof NaN),然后NaN與后面字符串繼續相加,又轉換成了字符串類型。最后得到一個類型為字符串的字符串。
編寫一個函數,接受兩個數字,并返回介于這兩個值之間的一個隨機數
function random(n1,n2) { var randomArr = []; if (n1>n2) { for (var i=n2+1;i
編寫一個函數接受三個值,并返回其中值。三個數值的中值就是大于或等于另兩值的一個,小于或等于剩下的那個值。(尼瑪這形容)
中值也稱中位數,即數據按升序或者降序排列,假如有n個數據,當n為偶數時,中位數為第n/2位數和第(n+2)/2位數的平均數;如果n為奇數,那么中位數為第(n+1)/2位數的值。
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]; // 獲得奇數位中位數,但由于數組計算方式所以-1 };編寫一個函數,返回一個給定數組中0的個數。
function numberOfZeros(arr) { var counter = 0; for (var i=0;i編寫一個函數,返回一個給定字符在字符串中的出現次數。
function strNum(str,x) { var arr = String(str).split(""); var num = 0; alert(arr) for (var i=0;i
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/83054.html
摘要:類型沒有重載聲明了兩個同名函數,而結果則是后面的函數覆蓋了前面的函數。引用的是函數據以執行的環境對象函數屬性和方法表示函數希望接收的命名參數的個數。而自動創建的基本包裝類型的對象,則只存在于一行代碼的執行瞬間,然后立即被銷毀。 Function類型 沒有重載 聲明了兩個同名函數,而結果則是后面的函數覆蓋了前面的函數。 var addSomeNumber = function (num)...
摘要:微信小程序課程,面向所有具備前端基礎知識的同學官網訪問官網更快閱讀全部免費分享課程出品全網最新微信小程序基于最新版開發者工具之初中級培訓教程分享。 ?? 微信小程序課程,面向所有具備前端基礎知識的同學 ?? iKcamp官網:http://www.ikcamp.com 訪問官網更快閱讀全部免費分享課程:《iKcamp出品|全網最新|微信小程序|基于最新版1.0開發者工具之初中級培訓教...
摘要:微信小程序課程,面向所有具備前端基礎知識的同學官網訪問官網更快閱讀全部免費分享課程出品全網最新微信小程序基于最新版開發者工具之初中級培訓教程分享。 ?? 微信小程序課程,面向所有具備前端基礎知識的同學 ?? iKcamp官網:http://www.ikcamp.com 訪問官網更快閱讀全部免費分享課程:《iKcamp出品|全網最新|微信小程序|基于最新版1.0開發者工具之初中級培訓教...
摘要:微信小程序課程,面向所有具備前端基礎知識的同學官網訪問官網更快閱讀全部免費分享課程出品全網最新微信小程序基于最新版開發者工具之初中級培訓教程分享。 ?? 微信小程序課程,面向所有具備前端基礎知識的同學 ?? iKcamp官網:http://www.ikcamp.com 訪問官網更快閱讀全部免費分享課程:《iKcamp出品|全網最新|微信小程序|基于最新版1.0開發者工具之初中級培訓教...
閱讀 2951·2021-11-25 09:43
閱讀 3327·2021-11-24 09:39
閱讀 2828·2021-09-22 15:59
閱讀 2174·2021-09-13 10:24
閱讀 509·2019-08-29 17:02
閱讀 2098·2019-08-29 13:23
閱讀 3058·2019-08-29 13:06
閱讀 3539·2019-08-29 13:04