1瘩扼、使用數(shù)組拼接出如下字符串 捣郊,其中styles數(shù)組里的個數(shù)不定
var prod = {
name: '女裝',
styles: ['短款', '冬季', '春裝']
};
function getTplStr(data){
var str = '<dl class="product">';
var prodName = "<dt>"+prod.name+"</dt>";
str += prodName;
for(var i in prod.styles){
str += "<dd>" +prod.styles[i] + "</dd>";
}
str += "</dl>";
return str;
};
var result = getTplStr(prod); //result為下面的字符串
console.log(result);
<dl class="product"><dt>女裝</dt><dd>短款</dd<dd>冬季</dd><dd>春裝</dd></dl>
2.寫出兩種以上聲明多行字符串的方法
var str = 'abcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdeabcdeancde';
var str1 = "abcdeabcdeabcdeancdeabcdeab"+
"cdeabcdeancdeabcdeabcdeabcd" +
"eancdeabcdeabcdeabcdeancde";
var str2 = "abcdeabcdeabcdeancdeabcdeabcdeabcdeanc\
deabcdeabcdeabcdeancdeabcdeabcdeabcdeancde";
3.補全如下代碼,讓輸出結(jié)果為字符串: hello\饑人谷
var str = "hello"+"\\\\"+"饑人谷";
console.log(str);
4.以下代碼輸出什么?為什么
var str = 'jirengu\nruoyu';
console.log(str.length); // 13 \n為1個字符
5.寫一個函數(shù),判斷一個字符串是回文字符串,如 abcdcba是回文字符串, abcdcbb不是
function isPalindrome(str){
var reverse = str.split("").reverse().join("");;
if(str === reverse){
return true;
}
return false;
}
6.寫一個函數(shù),統(tǒng)計字符串里出現(xiàn)出現(xiàn)頻率最多的字符
function mostFrequencyLetter(str){
var dict = {};
var strArr = str.split("");
for(var i = 0;i<strArr.length;i++){
if(dict[strArr[i]]){
dict[strArr[i]] += 1;
}else{
dict[strArr[i]] = 1;
}
}
var count = 0;
var max;
for (var j in dict){
if(dict[j] > count){
count = dict[j];
max = j;
}
}
return max;
}
7.寫一個camelize函數(shù),把my-short-string形式的字符串轉(zhuǎn)化成myShortString形式的字符串氛魁,如
//camelize("background-color") == 'backgroundColor'
//camelize("list-style-image") == 'listStyleImage'
function camelize(str){
var strArr = str.split("-");
console.log(strArr);
for(var i=1;i<strArr.length;i++){
strArr[i] = strArr[i].replace(strArr[i][0],strArr[i][0].toUpperCase());
console.log(strArr[i]);
}
str = strArr.join("");
return str;
}
8.寫一個 ucFirst函數(shù),返回第一個字母為大寫的字符 (***)
//capitalise("hunger") == "Hunger"
function capitalise(str){
return str.replace(str[0],str[0].toUpperCase());
}
9.寫一個函數(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){
str = str.substr(0,maxLength)+"...";
return str;
}
return str;
}
10.什么是 JSON格式數(shù)據(jù)羽氮?JSON格式數(shù)據(jù)如何表示對象或链?window.JSON 是什么?
JSON 格式(JavaScript Object Notation 的縮寫)是一種用于數(shù)據(jù)交換的文本格式档押,2001年由 Douglas Crockford 提出澳盐,目的是取代繁瑣笨重的 XML 格式。
JSON 對值的類型和格式有嚴(yán)格的規(guī)定令宿。
- 復(fù)合類型的值只能是數(shù)組或?qū)ο蟮鸢遥荒苁呛瘮?shù)、正則表達(dá)式對象粒没、日期對象筛婉。
- 簡單類型的值只有四種:字符串、數(shù)值(必須以十進(jìn)制表示)癞松、布爾值和null(不能使用NaN, Infinity, -Infinity和undefined)爽撒。
- 字符串必須使用雙引號表示入蛆,不能使用單引號。
- 對象的鍵名必須放在雙引號里面硕勿。
- 數(shù)組或?qū)ο笞詈笠粋€成員的后面哨毁,不能加逗號。
window.JSON是瀏覽器的內(nèi)置對象(本地化的JSON對象)源武,用來檢測對JSON的支持情況
11.如何把JSON 格式的字符串轉(zhuǎn)換為 JS 對象扼褪?如何把 JS對象轉(zhuǎn)換為 JSON 格式的字符串?
JSON.parse(string) : 把字符串轉(zhuǎn)化為JSON對象
JSON.stringify(json) : 把JSON對象轉(zhuǎn)化為字符串