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);