使用JSON作為函數(shù)的參數(shù)的優(yōu)缺點(diǎn)
一直對(duì)json不太懂,最近看了一些介紹才發(fā)現(xiàn),原來這個(gè)東西這么好用,下面就為大家介紹一下
1、我們可以隨時(shí)為一個(gè)函數(shù)添加/刪除參數(shù)或在任意參數(shù)位置添加新參數(shù),而不會(huì)像傳統(tǒng)參數(shù)一樣必須按照規(guī)定的順序書寫,而且每次添加或刪除函數(shù)某個(gè)參數(shù)都要函數(shù)內(nèi)容進(jìn)行修改。而使用JSON作為參數(shù)可以不用考慮參數(shù)順序。
看下面代碼演示:
<script type="text/javascript"> <!-- //普通方法 function commonArg(name,age,desc){ var userinfo="name: "+name+","+"age: "+age+"\ndescription: "+desc; alert(userinfo); } commonArg("yemoo",22,"a boy!")//每次調(diào)用都必須按照規(guī)定的參數(shù)順序書寫,如果寫成commonArg(22,"yemoo","desc")則返回信息就不對(duì),每次都必須記憶每個(gè)參數(shù)意義及順序 //JSON參數(shù)法 function jsonArg(info){ var userinfo="name: "+info.name+"\tage: "+info.age+"\ndescription: "+info.desc; alert(userinfo); } jsonArg({name:"blue",age:22,desc:"a gril?"}); jsonArg({desc:"not a people!",name:"sss",age:0}); //參數(shù)位置可以隨意寫 //--> </script>
普通函數(shù)缺點(diǎn)很明顯:必須記憶參數(shù)意義和順序。而使用JSON的方法則不需要。
2、使用者對(duì)函數(shù)的調(diào)用非常方便,特別是在只需要傳入其中幾個(gè)或一個(gè)參數(shù)時(shí)。
看下面的代碼演示:
<script type="text/javascript"> <!-- //普通方法 function commonArg(name,age,desc){ var userinfo="name: "+(name||"empty")+"\tage: "+(age||0)+"\ndescription: "+desc||"empty"; alert(userinfo); } //當(dāng)只需要設(shè)定后面的參數(shù)時(shí)前面每個(gè)參數(shù)都需要設(shè)置為null commonArg("tempUser"); commonArg(null,null,"a boy!"); commonArg(null,20); //JSON參數(shù)法 function jsonArg(info){ var userinfo="name: "+(info.name||"empty")+"\tage: "+(info.age||0)+"\ndescription: "+(info.desc||"empty"); alert(userinfo); } //每次只需要設(shè)置需要設(shè)定參數(shù)項(xiàng) jsonArg({name:"tempUser"}); jsonArg({desc:"a boy!"}); jsonArg({age:20}); //--> </script>
JSON方法優(yōu)點(diǎn)很明顯:每次只需傳入需要的參數(shù)即可,而不用考慮其他參數(shù)。
JSON真是一個(gè)好用的東西,不用在ajax方面還是在js的其他方面都體現(xiàn)了其方便靈活的特性,的確應(yīng)該好好去挖掘和學(xué)習(xí)json。
相關(guān)文章
JQuery用$.ajax或$.getJSON跨域獲取JSON數(shù)據(jù)的實(shí)現(xiàn)代碼
這篇文章主要介紹了JQuery用$.ajax或$.getJSON跨域獲取JSON數(shù)據(jù)的實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-09-09JS中JSON.parse(JSON.stringify())實(shí)現(xiàn)深拷貝
深拷貝就是完全拷貝一份新的對(duì)象,本文主要介紹了JS中JSON.parse(JSON.stringify())實(shí)現(xiàn)深拷貝,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08JSON.stringify 語(yǔ)法實(shí)例講解
可能有些人對(duì)系列化這個(gè)詞過敏,我的理解很簡(jiǎn)單。就是說把原來是對(duì)象的類型轉(zhuǎn)換成字符串類型(或者更確切的說是json類型的)。就這么簡(jiǎn)單。打個(gè)比方說,你有一個(gè)類,那么你可以通過這個(gè)方法轉(zhuǎn)換成相應(yīng)的json類型的2012-03-03js解析與序列化json數(shù)據(jù)(三)json的解析探討
這一節(jié)我們主要討論json的解析,感興趣的朋友可以了解下,JSON.parse()方法也可以接收另一個(gè)參數(shù),該參數(shù)是一個(gè)函數(shù),將早每個(gè)鍵值對(duì)上調(diào)用,好了,話不多說,希望本文對(duì)你有所幫助2013-02-02利用NodeJS的子進(jìn)程(child_process)調(diào)用系統(tǒng)命令的方法分享
child_process即子進(jìn)程可以創(chuàng)建一個(gè)系統(tǒng)子進(jìn)程并執(zhí)行shell命令,在與系統(tǒng)層面的交互上挺有用處2013-06-06