最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript 高級篇之函數(shù) (四)

 更新時(shí)間:2012年04月07日 02:09:53   作者:  
本節(jié)我將分享我對函數(shù),嵌套函數(shù),作為數(shù)據(jù)的函數(shù),作為對象的函數(shù)等
1、函數(shù)的創(chuàng)建

由于前面已經(jīng)用了很多的函數(shù),我就不在這里多分享了。

2、嵌套函數(shù)
復(fù)制代碼 代碼如下:

function china()
{
function people()//嵌套函數(shù),只有china用它
{
document.write("我的心愿是當(dāng)杜甫,最近網(wǎng)上他的漫畫,他活的好瀟灑");
}
people();
}

3、函數(shù)的直接量

Javascript允許函數(shù)用直接量來定義,說白了就是一個(gè)表達(dá)式,(匿名函數(shù))。細(xì)節(jié):匿名函數(shù)以后會(huì)用,要明白!
復(fù)制代碼 代碼如下:

function china(people) //函數(shù)聲明
{
return peole;
}
var fun = function(people){return people;};//通過表達(dá)式聲明。效果等同

4、函數(shù)的參數(shù)(這里大家要注意)

當(dāng)你調(diào)用一個(gè)函數(shù)的參數(shù)少于聲明的參數(shù)個(gè)數(shù)是,其它的參數(shù)就是一個(gè)undefined的值。
復(fù)制代碼 代碼如下:

//打印函數(shù)
function displayArray(arr)
{
if(!arr)return;
for(var num =0;num<arr.length;num++)
{
document.write("Num is "+ arr[num]+ "\t");
}
document.write(" "+"<br />");
}
var array = [2,32,14,57,6];
function borrowArray(from,/*optional*/to)
{
if(!to) to = []; //to = to||[] 效果是等同的
for(var element in from) //使用枚舉遍歷數(shù)組
to.push(from[element]);//將元素添加到數(shù)組
return to;//返回
}
var returnnumber = borrowArray(array);//執(zhí)行
displayArray(returnnumber);//打印
//輸出:Num is 2 Num is 32 Num is 14 Num is 57 Num is 6

5、可變的參數(shù)(Arguments 對象)
第一次看到這里我也暈了,怎么參數(shù)還變的呢,多白了,這個(gè)argument對象就是函數(shù)參數(shù)的管理者,比如你有一個(gè)函數(shù),定義了3個(gè)參數(shù),那argument就有一個(gè)和你定義的參數(shù),一樣的數(shù)據(jù)集。
要注意:arguments標(biāo)識(shí)符在函數(shù)體內(nèi)才有效的。你也可以就把它當(dāng)成是函數(shù)的屬性吧!
復(fù)制代碼 代碼如下:

function checkArgument(x,y,z)
{
if(arguments.length != 3) throw new Error("參數(shù)不匹配"); //檢查參數(shù)是否合法,挺好用吧!
return x+y+z;
}

下面的例子是一個(gè)比較數(shù)字大小的例子,參數(shù)是可以變的。
復(fù)制代碼 代碼如下:

function compareMaxNumber()
{
var temp = Number.NEGATIVE_INFINITY;//表示javascript最小的復(fù)數(shù)
for(var arg=0;arg<arguments.length;arg++)
{
if(arguments[arg]>temp) temp = arguments[arg];
}
return temp; //返回參數(shù)中最大的數(shù)字
}
document.write(compareMaxNumber(2,34,5,23,766,1000)+"<br />");//這里的參數(shù)可以有很多,輸出1000

6、將對象屬性作為參數(shù)
復(fù)制代碼 代碼如下:

function displayArray(arr) //打印函數(shù)
{
if(!arr)return;
for(var num =0;num<arr.length;num++)
{
document.write("Num is "+ arr[num]+ "\t");
}
document.write(" "+"<br />");
}
//
function copyArray(from,from_start,to,to_start,length)//復(fù)制數(shù)組
{
for(var i = from_start; i <length;i++)
{
to.push(from[i]);//填充
}
return to;
}
//getArray 接受對象
function getArray(objarray)
{
//再次封裝,調(diào)用copyArray
return copyArray(objarray.from,objarray.from_start ||0,objarray.to|| [],objarray.to_start ||0,objarray.length);//這里用了一點(diǎn)技巧。
}
var arr1 = [1,2,3,4,5];
displayArray(getArray({from:arr1,length:4}));

6、作為數(shù)據(jù)的函數(shù)
復(fù)制代碼 代碼如下:

function add(x,y){return x + y;}
function multply(x,y){return x*y;}
function cut(x,y){return x -y ;}
operator(operator1,operator2,operator3)//接收3個(gè)參數(shù),可以把函數(shù)作為參數(shù)使用。
{
return operator1(operator2,operator3);//執(zhí)行的是add();
}
document.write(operator(add,operator(multply,2,4),operator(cut,12,2)));//輸出18了

7、作為方法的函數(shù)

這里說的方法不過就是把函數(shù)存儲(chǔ)在對象的屬性里面,然后通過屬性來調(diào)用,函數(shù)可以賦給任何變量。
復(fù)制代碼 代碼如下:

var obj = {};
function display() //(something) 帶參數(shù)
{
return "Love";//something;
}
obj.method = display;//使用對象的直接量賦值。
obj.method();//調(diào)用。obj.method("Love");

其實(shí)javascript也引用了this關(guān)鍵字。大家要記住其實(shí)調(diào)用方法的對象就是this的值。Object.method(); 這里Object就是對象,自然也就this的值了。
復(fù)制代碼 代碼如下:

var privatename =
{name:"Frank",
age:21,
sex:'男',
display:function()
{document.write("my name is:"+this.name+"\t age :"+this.age)}};
privatename.display(); //輸出 name is:Frank age :21

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

構(gòu)造函數(shù)是初始化一個(gè)對象的屬性,并專門和new運(yùn)算符一起使用的構(gòu)造函數(shù),new運(yùn)算符創(chuàng)建一個(gè)對象,然后調(diào)用構(gòu)造函數(shù),把新創(chuàng)建的對象當(dāng)this的值來傳遞,賦值。(要能理解)
復(fù)制代碼 代碼如下:

function createProperty(name,version)//構(gòu)造函數(shù)
{
this.name = name;
this.version = version;
}
var tools = new createProperty("Multply",1.0);初始化,工具的名稱,版本

9、定義函數(shù)的屬性

當(dāng)你需要使用一個(gè)全局不變值時(shí),使用Function對象的屬性將會(huì)很方便(以后創(chuàng)建命名空間,類的屬性,其實(shí)都是寄托在這個(gè)上面)
復(fù)制代碼 代碼如下:

createNamespace.name = "360buy.define";
createNamespace.version = 1.2;
function createNamespace()
{
document.write("名稱空間:"+createNamespace.name +"版本:" + createNamespace.version);
}
createNamespace();//輸出:名稱空間:360buy.define版本:1.2

10、方法apply()和call()

使用這兩個(gè)方法可以像調(diào)用其它對象的方法一樣調(diào)用函數(shù),兩個(gè)方法第一參數(shù)都是要調(diào)用的對象,后面的參數(shù)是要調(diào)用的函數(shù)參數(shù)。
復(fù)制代碼 代碼如下:

function applyCallOperator(args,args2)
{
document.write(args+"<br />");
}
var objpeople = {};
applyCallOperator.apply(objpeople.Frank,[3,4]);//等同 applyCallOperator.call(objpeople.Frank,3,4) 前面就多[]
objpeople.Frank();

小結(jié):這篇就像大家分享到這來吧,下一篇我們一起實(shí)現(xiàn)javascript類。

相關(guān)文章

  • js原型繼承的兩種方法對比介紹

    js原型繼承的兩種方法對比介紹

    這篇文章主要介紹了js原型繼承的兩種方法對比介紹,需要的朋友可以參考下
    2014-03-03
  • form表單序列化詳解(推薦)

    form表單序列化詳解(推薦)

    這篇文章主要介紹了form表單序列化操作,通過將表單中的鍵值序列化為可提交的字符串,并附上代碼實(shí)例詳細(xì)講解了運(yùn)行之后的結(jié)果,需要的朋友可以參考下
    2017-08-08
  • 全選復(fù)選框JavaScript編寫小結(jié)(附代碼)

    全選復(fù)選框JavaScript編寫小結(jié)(附代碼)

    這篇文章主要介紹了全選”復(fù)選框JavaScript編寫,分別附上html和js代碼以供大家更深刻了解,具體操作步驟大家可查看下文的詳細(xì)講解,感興趣的小伙伴們可以參考一下。
    2017-08-08
  • javascript prototype原型詳解(比較基礎(chǔ))

    javascript prototype原型詳解(比較基礎(chǔ))

    prototype原型是javascript中特別重要的概念,屬于必須要掌握,如果沒有良好的掌握的話,進(jìn)一步用好或者學(xué)好js基本是不可能的實(shí)現(xiàn)的事情,并且此概念稍有難度,可能對于初次接觸的朋友來說有點(diǎn)困難,下面就通過代碼實(shí)例簡單介紹一下prototype原型的用法
    2016-12-12
  • Javascript學(xué)習(xí)筆記之 函數(shù)篇(三) : 閉包和引用

    Javascript學(xué)習(xí)筆記之 函數(shù)篇(三) : 閉包和引用

    本系列好久沒更新了,今天重新拿過來,繼續(xù)前面未完成的事項(xiàng),本文我們就來談?wù)凧avascript 中一個(gè)最重要的特性--閉包的使用引用。
    2014-11-11
  • Javascript獲取窗口(容器)的大小及位置參數(shù)列舉及簡要說明

    Javascript獲取窗口(容器)的大小及位置參數(shù)列舉及簡要說明

    Javascript獲取窗口(容器)的大小及位置一系列的東西比較多,容易混淆,在這里列舉及簡要說明下,需要的朋友可以參考下
    2012-12-12
  • javascript基本類型詳解

    javascript基本類型詳解

    本文介紹了javascript中的5個(gè)原始值(數(shù)字,字符,布爾,null,undefined),6個(gè)typeo能判斷(數(shù)字,字符,布爾,object,function,undefined)以及9個(gè)原生的內(nèi)置構(gòu)造函數(shù),是篇非常不錯(cuò)的文章,這里推薦給大家。
    2014-11-11
  • ES6基礎(chǔ)語法之對象介紹

    ES6基礎(chǔ)語法之對象介紹

    這篇文章介紹了ES6中對象的用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • 詳解JavaScript中的自定義事件編寫

    詳解JavaScript中的自定義事件編寫

    這篇文章主要介紹了JavaScript中的自定義事件編寫,自定義事件是在瀏覽器中編寫Web頁面操作功能的基本方式,需要的朋友可以參考下
    2016-05-05
  • JavaScript中的原型prototype屬性使用詳解

    JavaScript中的原型prototype屬性使用詳解

    這篇文章主要介紹了JavaScript中的原型prototype屬性使用詳解,是JS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-06-06

最新評論

嘉兴市| 平远县| 辛集市| 贺州市| 金阳县| 南昌县| 开江县| 兴业县| 通河县| 湖口县| 年辖:市辖区| 和政县| 横峰县| 茶陵县| 星子县| 云梦县| 民县| 民丰县| 丰镇市| 大化| 巴林右旗| 克东县| 乌审旗| 察哈| 红原县| 洛阳市| 阳新县| 澜沧| 闵行区| 台南县| 舞阳县| 巴林右旗| 白城市| 奇台县| 九寨沟县| 鄢陵县| 都兰县| 莱州市| 苍溪县| 石柱| 巍山|