1、使用數(shù)組拼接出如下字符串
var prod = {
name: '女裝',
styles: ['短款', '冬季', '春裝']
};
function getTpl(data){
var getData =
'<dl class="product">'+'\n'
+'\t'+'<dt>'+data.name+'</dt>'+'\n'
+'\t'+'<dd>'+data.styles[0]+'</dd>'+'\n'
+'\t'+'<dd>'+data.styles[1]+'</dd>'+'\n'
+'\t'+'<dd>'+data.styles[2]+'</dd>'+'\n'
+'</dl>';
return getData;
}
var result = getTpl(prod); //result為下面的字符串
console.log(result);
<dl class="product">
<dt>女裝</dt>
<dd>短款</dd>
<dd>冬季</dd>
<dd>春裝</dd>
</dl>
2、寫(xiě)出兩種以上聲明多行字符串的方法
第一種:加'\'
var longString = "Long \
long \
long \
string";
longString
// "Long long long string"
第二種:加'+'
var longString = 'Long '
+ 'long '
+ 'long '
+ 'string';
longString
// "Long long long string"
第三種:利用多行注釋家厌,生成多行字符串
(function () { /*
line 1
line 2
line 3
*/}).toString().split('\n').slice(1,-1).join('\n')
// "line 1 line 2 line 3"
3、補(bǔ)全如下代碼,讓輸出結(jié)果為字符串: hello\饑人谷
var str ="hello\\\\饑人谷"
console.log(str)
4椎工、以下代碼輸出什么?為什么
var str = 'jirengu\nruoyu'
console.log(str.length)//13 '\n'意思是換行饭于,代表一個(gè)字符
5、寫(xiě)一個(gè)函數(shù)维蒙,判斷一個(gè)字符串是回文字符串掰吕,如 abcdcba是回文字符串, abcdcbb不是
var a = 'abcdcba';
var b = 'abcdcbb';
function isReverse(str){
return str ===str.split('').reverse().join('');
}
console.log (isReverse(a));
console.log (isReverse(b));
6、寫(xiě)一個(gè)函數(shù)颅痊,統(tǒng)計(jì)字符串里出現(xiàn)出現(xiàn)頻率最多的字符
var str ='hello world , jiengu haha hoho hoho lol'
var dict = {}
for (var i = 0; i < str.length; i++) {
if(dict[str[i]]) {
++dict[str[i]]
}else{
dict[str[i]] = 1
}
}
var count= 0
var maxValue
for(key in dict){
if(dict[key] > count){
maxValue = key
count = dict[key]
}
}
console.log(maxValue,count)
7殖熟、寫(xiě)一個(gè)camelize函數(shù),把my-short-string形式的字符串轉(zhuǎn)化成myShortString形式的字符串斑响,如
function camelize(str){
var arr = str.split('-');
var newArr = arr[0];
for (var i = 1; i < arr.length; i++) {
newArr += arr[i].charAt(0).toUpperCase()
+ arr[i].slice(1,arr[i].length);
}
return newArr;
}
console.log(camelize("background-color"));
console.log(camelize("list-style-image"));
camelize("background-color") == 'backgroundColor'
camelize("list-style-image") == 'listStyleImage'
8菱属、寫(xiě)一個(gè) ucFirst函數(shù)钳榨,返回第一個(gè)字母為大寫(xiě)的字符 (***)
var str= 'hello';
function ucFirst(str){
var str1 = str.charAt(0).toUpperCase();
var str2 = str.slice(1);
return str1 + str2;
}
ucFirst(str);
ucFirst("hunger") == "Hunger"
9、寫(xiě)一個(gè)函數(shù)truncate(str, maxlength), 如果str的長(zhǎng)度大于maxlength纽门,會(huì)把str截?cái)嗟絤axlength長(zhǎng)薛耻,并加上...,如
function truncate(str,maxLength){
var strLength = str.length;
var newStr;
if(str.length > maxLength){
newStr = str.slice(0,maxLength) + "...";
} else{
newStr = str;
}
return newStr;
}
truncate("hello, this is hunger valley,", 10)) == "hello, thi...";
truncate("hello world", 20)) == "hello world"
10赏陵、什么是 json昭卓?什么是 json 對(duì)象?什么是 json 對(duì)象字面量瘟滨?什么是 JSON內(nèi)置對(duì)象候醒?
- JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個(gè)子集杂瘸。 JSON采用完全獨(dú)立于語(yǔ)言的文本格式倒淫,但是也使用了類(lèi)似于C語(yǔ)言家族的習(xí)慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語(yǔ)言败玉。 易于人閱讀和編寫(xiě)敌土,同時(shí)也易于機(jī)器解析和生成(網(wǎng)絡(luò)傳輸速度)。
- 每個(gè)JSON對(duì)象运翼,就是一個(gè)值返干。要么是簡(jiǎn)單類(lèi)型的值,要么是復(fù)合類(lèi)型的值血淌,但是只能是一個(gè)值矩欠,不能是兩個(gè)或更多的值。這就是說(shuō)悠夯,每個(gè)JSON文檔只能包含一個(gè)值癌淮。
11、如何把JSON 格式的字符串轉(zhuǎn)換為對(duì)象沦补?如何把對(duì)象轉(zhuǎn)換為 JSON 格式的字符串?
1乳蓄、JSON.parse('[1, 5, "false"]') // [1, 5, "false"]
2、JSON.stringify([1, "false", false])
// '[1,"false",false]'