JS小記.5

對于 HTTP 協(xié)議而言,HTML叮贩、CSS击狮、JS、JSON 的本質(zhì)都是什么

對于HTTP協(xié)議而言,HTML CSS JS JSON 的本質(zhì)是符合其自己語法的字符串


使用數(shù)組拼接出如下字符串 益老,其中styles數(shù)組里的個數(shù)不定

var prod = {
    name: '女裝',
    styles: ['短款', '冬季', '春裝']
};
function getTpl(data){
    var head = '<dl class = "product"><dt>'+data.name+'</dt>';
    var body = '';
    for(var i = 0;i<data.styles.length;i++){
      body += '<dd>'+data.styles[i]+'</dd>';
    }
    return head+body+'</dl>'
};
var result = getTpl(prod);  //result為下面的字符串
<dl class="product"><dt>女裝</dt><dd>短款</dd<dd>冬季</dd><dd>春裝</dd></dl>

寫出兩種以上聲明多行字符串的方法

var str = 'abcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdeabcdeancde'

var str = 'abcdeabcdeabcdeancd/
ncdeabcdeabcdeabcdeanc/
eancdeabcdeabcdeabcdeanc/
eancdeabcdeabcdeabcdeancde'

var str = 'abcdeabcdeabcdeancd'
+ 'ncdeabcdeabcdeabcdeanc'
+ ' eancdeabcdeabcdeabcdeanc'
+ 'eancdeabcdeabcdeabcdeancde'

補全如下代碼,讓輸出結(jié)果為字符串: hello\\幾人股

 var str = 'hello\\\\幾人股'
 console.log(str)

以下代碼輸出什么?為什么

var str = 'yo\nbcw'
console.log(str.length)  // 6  \n占據(jù)一個字符 如果yo\bcw 則是5  \無意義

寫一個函數(shù)彪蓬,判斷一個字符串是回文字符串,如 abcdcba是回文字符串, abcdcbb不是

 function isReverse(str){
          return str === str.split('').reverse.jion('')
}

寫一個函數(shù)捺萌,統(tǒng)計字符串里出現(xiàn)出現(xiàn)頻率最多的字符

 function mostChar(str){
       var dict = {};
       var count = 0;
       var char;
       for(var i = 0;i<str.length;i++){
           if(dict(str[i])){
             ++dict(str[i])
           }else{
             dict(str[i]) = 1;
           }
       for(key in dict){
          if(dict[key]>count){
              char = key;
              count = dict[key]
          }
       }
       return char+':'+count 
}

寫一個camelize函數(shù)档冬,把my-short-string形式的字符串轉(zhuǎn)化成myShortString形式的字符串,如

camelize("background-color") == 'backgroundColor'
camelize("list-style-image") == 'listStyleImage'

function camelize(str){
   var arr = str.split('');
   for(var i=0;i<arr.length;i++){
      if(arr[i] === '-' ){
        arr[i] = '';
        arr[i+1] = arr[i+1].toUpperCase();
      }
   }
  return arr.join('');
}

function camelize(str) {
   var arr = str.split('-');
   for(var i = 1; i < arr.length; i++) {
      arr[i] = arr[i][0].toUpperCase()+arr[i].substr(1);
   }
   return arr.join('');
}

寫一個 ucFirst函數(shù),返回第一個字母為大寫的字符 (***)

 ucFirst("hunger") == "Hunger"
 function ucFirst(str) {
    return str[0].toUpperCase + str.slice(1)
 }

寫一個函數(shù)truncate(str, maxlength), 如果str的長度大于maxlength酷誓,會把str截斷到maxlength長披坏,并加上...,如

truncate("hello, this is hunger valley,", 10) == "hello, thi...";
truncate("hello world", 20) == "hello world"

function truncate(str,maxlength){
   if(str.length>maxlength){
        return str.slice(0,maxlength)+'...'
   }esle{
        return str
   }
}

什么是 JSON格式數(shù)據(jù)盐数?JSON格式數(shù)據(jù)如何表示對象棒拂?window.JSON 是什么?

JSON(JavaScript Object Notation, JS 對象標(biāo)記) 是一種輕量級的數(shù)據(jù)交換格式玫氢。 易于人閱讀和編寫帚屉。同時也易于機器解析和生成。
JSON采用完全獨立于語言的文本格式漾峡,但是也使用了類似于C語言家族的習(xí)慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)攻旦。 這些特性使JSON成為理想的數(shù)據(jù)交換語言。
JSON 使用 JavaScript 語法來描述數(shù)據(jù)對象生逸,但是 JSON 仍然獨立于語言和平臺牢屋。JSON 解析器和 JSON 庫支持許多不同的編程語言。
JSON 是存儲和交換文本信息的語法牺陶。類似 XML。
JSON 比 XML 更小辣之、更快掰伸,更易解析。

對象是一個無序的“‘名稱/值’對”集合怀估。一個對象以“{”(左括號)開始狮鸭,“}”(右括號)結(jié)束。每個“名稱”后跟一個“:”(冒號)多搀;“‘名稱/值’ 對”之間使用“,”(逗號)分隔歧蕉。

window.JSON是瀏覽器的內(nèi)置對象,用來檢測對JSON的支持情況康铭。JSON對象內(nèi)置了JSON.parse()惯退、JSON.stringify()。IE8版本以上才內(nèi)置支持JSON.parse()函數(shù)方法从藤。

JSON介紹


如何把JSON 格式的字符串轉(zhuǎn)換為 JS 對象催跪?如何把 JS對象轉(zhuǎn)換為 JSON 格式的字符串?

要實現(xiàn)從 JSON 轉(zhuǎn)換為對象,使用 JSON.parse() 方法:

var obj = JSON.parse('{"a": "Hello", "b": "World"}'); //結(jié)果是 {a: 'Hello', b: 'World'}

要實現(xiàn)從對象轉(zhuǎn)換為 JSON 字符串夷野,使用 JSON.stringify() 方法:

 var json = JSON.stringify({a: 'Hello', b: 'World'}); //結(jié)果是 '{"a": "Hello", "b": "World"}'
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末懊蒸,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子悯搔,更是在濱河造成了極大的恐慌骑丸,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異通危,居然都是意外死亡铸豁,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門黄鳍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來推姻,“玉大人,你說我怎么就攤上這事框沟〔毓牛” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵忍燥,是天一觀的道長拧晕。 經(jīng)常有香客問我,道長梅垄,這世上最難降的妖魔是什么厂捞? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮队丝,結(jié)果婚禮上靡馁,老公的妹妹穿的比我還像新娘。我一直安慰自己机久,他們只是感情好臭墨,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著膘盖,像睡著了一般胧弛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上侠畔,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天结缚,我揣著相機與錄音,去河邊找鬼软棺。 笑死红竭,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的喘落。 我是一名探鬼主播磷蛹,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼欲险,長吁一口氣:“原來是場噩夢啊……” “哼狸演!你這毒婦竟也來了喊式?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤兽狭,失蹤者是張志新(化名)和其女友劉穎憾股,沒想到半個月后鹿蜀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡服球,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年茴恰,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片斩熊。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡往枣,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出粉渠,到底是詐尸還是另有隱情分冈,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布霸株,位于F島的核電站雕沉,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏去件。R本人自食惡果不足惜坡椒,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望尤溜。 院中可真熱鬧倔叼,春花似錦、人聲如沸宫莱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽梢睛。三九已至肥印,卻和暖如春识椰,著一層夾襖步出監(jiān)牢的瞬間绝葡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工腹鹉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留藏畅,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓功咒,卻偏偏與公主長得像愉阎,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子力奋,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

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