進階5

1.對于 HTTP 協議而言,HTML、CSS、JS、JSON 的本質都是什么?

都是字符串。瀏覽器根據相應請求頭中的Content-Type以對應的語法解析這些字符串,再分別渲染執行。

2.使用數組拼接出如下字符串 ,其中styles數組里的個數不定

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

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

var str = 'abcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdeabcdeancde';
//方法1
var str1='abcdeabcdeabcdeancdeabc\
deabcdeabcdeancdeabcdeab\
cdeabcdeancdeabcdeabcdeabcdeancde';
console.log(str1);
//方法2
var str2='abcdeabcdeabcdeancdeabc'+
'deabcdeabcdeancdeabcdeab'+
'cdeabcdeancdeabcdeabcdeabcdeancde';
console.log(str2);

4.補全如下代碼,讓輸出結果為字符串: hello\饑人谷

var str = 'hello\\\\饑人谷';
console.log(str);

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

var str = 'jirengu\nruoyu';
console.log(str.length);
/*str.length指的是str字符串的長度,其中\n在字符串表示換行,所以只占一個字符長度
*/

6.寫一個函數,判斷一個字符串是回文字符串,如 abcdcba是回文字符串, abcdcbb不是

var str = 'abcdcba';
var str1 = 'abcdcbb';
function judgment(ori){
  var newori = ori.split('').reverse().join('');
  console.log(newori==ori);
}
judgment(str);//true
judgment(str1);//false

7.寫一個函數,統計字符串里出現出現頻率最多的字符

function dis(ori){
  var dict={};
  var count = 0;
  var max;
  for(i=0;i<ori.length;i++){
    if(dict[ori[i]]){
    ++dict[ori[i]];
    }
    else{
    dict[ori[i]]=1;
    }
  }
 
  for(var key in dict){
    if(dict[key]>count){
    max=key;
    count = dict[key];
    }
  }
  return {cha:max,num:count};
 
}
var str = 'aaabcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdeabcdeancde';
console.log(dis(str));

8.寫一個camelize函數,把my-short-string形式的字符串轉化成myShortString形式的字符串,如


function camelize(ori){
   var arr = ori.split('-');
   for(i=0;i<arr.length;i++){
      if(i!==0){ 
        arr[i] = arr[i].replace(arr[i].charAt(0), arr[i].charAt(0).toUpperCase());
      }
   }
   var newarr = arr.join('');
   return newarr;
}
var str = 'list-style-image';
console.log(camelize(str));

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

var str ='hunger';
function ucFirst(ori){
 var st = ori.substr(0,1);
 var newori = ori.replace(st,st.toUpperCase());
  return newori;
}
console.log(ucFirst(str));

10.寫一個函數truncate(str, maxlength), 如果str的長度大于maxlength,會把str截斷到maxlength長,并加上...

var str ='hello, this is hunger valley,';
var str1 = 'hello world';
function truncate(ori,num){
  if(ori.length>num){
  var fstr = ori.substr(0,num);
  var newori = fstr +'...';
    return newori;
  
  }else{
    return ori;
  }
  
}

console.log(truncate(str,10));
console.log(truncate(str1,20));

11.什么是 JSON格式數據?JSON格式數據如何表示對象?window.JSON 是什么?

JSON(JavaScript Object Notation)是一種由道格拉斯·克羅克福特構想設計、輕量級的數據交換語言,以文字為基礎,且易于讓人閱讀。JOSN 是類對象字符串,是字符串,它不能被調用或者作為構造函數,除了它的兩個方法屬性,它本身并沒有有趣的功能。JSON 由一對花括號包裹,里面的值以key: value形式存儲,如:

{
"name":"dawang"
"sex":"male"
}

window.JSON 是一個對象,里面只包含兩個方法parse()和stringify(),分別用于解析和轉化 JSON 對象。

12.如何把JSON 格式的字符串轉換為 JS 對象?如何把 JS對象轉換為 JSON 格式的字符串?

parse:把字符串轉化為JSON對象
stringify:把JSON對象轉化為字符串

var str = {"name":"dawang","sex":"male"};
var newstr = JSON.stringify(str);
console.log(newstr);
var lstr = JSON.parse(newstr);
console.log(lstr);
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1、使用數組拼接出如下字符串 2、寫出兩種以上聲明多行字符串的方法 字符串默認只能寫在一行內,分成多行將會報錯。 ...
    Feiyu_有貓病閱讀 228評論 0 0
  • 0、對于 HTTP 協議而言,HTML、CSS、JS、JSON 的本質都是什么? 本質上都是符合HTML、CSS、...
    饑人谷_星璇閱讀 165評論 0 0
  • 1、使用數組拼接出如下字符串 2、寫出兩種以上聲明多行字符串的方法 3、補全如下代碼,讓輸出結果為字符串: hel...
    饑人谷_js_chen閱讀 390評論 0 0
  • 對于 HTTP 協議而言,HTML、CSS、JS、JSON 的本質都是什么? 1.對于HTTP協議而言,html、...
    azure_1122閱讀 307評論 0 0
  • 0、對于 HTTP 協議而言,HTML、CSS、JS、JSON 的本質都是什么? 對于HTTP協議而言,html、...
    我七閱讀 288評論 0 0