1、使用數(shù)組拼接出如下字符串
<code><pre>
var prod = {
name: '女裝',
styles: ['短款', '冬季', '春裝']
};
function getTpl(data){
//todo...
};
var result = getTplStr(prod); //result為下面的字符串
<dl class="product">
<dt>女裝</dt>
<dd>短款</dd>
<dd>冬季</dd>
<dd>春裝</dd>
</dl>
</pre></code>
2、寫出兩種以上聲明多行字符串的方法
答:第一種:
<pre>var str = 'bsdsdsjkdw' +
'bddmsdxcs' +
'cwsds' +
'cnsd' +
'csghd';
console.log(str);
</pre>
第二種:
<pre>
//利用注釋:
(function str(){/*
line 1
line 2
line 3
*/}).toString().split('\n').slice(1,-1).join('\n');
//但是有些時候代碼壓縮處理后,注釋會被去除,就會出問題。
</pre>
3、補(bǔ)全如下代碼,讓輸出結(jié)果為字符串: hello\饑人谷
<pre>
var str ='hello\\饑人谷' //補(bǔ)全代碼
console.log(str)
</pre>
4、以下代碼輸出什么?為什么
<pre>var str = 'jirengu\nruoyu'
console.log(str.length)</pre>
答:13,因為\n算一個字符-換行符。
5、寫一個函數(shù),判斷一個字符串是回文字符串,如 abcdcba是回文字符串, abcdcbb不是
答:
<pre>
var str3 = 'abcdcba'
function ispalin(str) {
var arr = str.split('')
var str_rever = arr.reverse().join('')
if (str===str_rever){
return true
} else {
return false
}
}
console.log(ispalin(str3))
</pre>
6、寫一個函數(shù),統(tǒng)計字符串里出現(xiàn)出現(xiàn)頻率最多的字符
答:
<pre>
var str22= 'hello limian'+
'NASA to Host News Conference'+
'on Discovery Beyond Our Solar System';
/strnum存儲每一個出現(xiàn)的字符及出現(xiàn)的次數(shù),鍵為出現(xiàn)的字符,鍵值為該字符出現(xiàn)的次數(shù)/
var strnum ={};
for(var i= 0;i<str22.length;i+=1){
if (strnum[str22[i]]){
console.log(str22[i]);
strnum[str22[i]]+=1;
} else {
console.log(str22[i]);
strnum[str22[i]]=1;
}
}
console.log(strnum);
var num= 0;
var num_str;
/遍歷strnum,找出最大鍵值和對應(yīng)的鍵/
for(var j in strnum){
if (strnum[j]>num&&j!=" "){
num = strnum[j];
num_str=j;
}
}
/打印出現(xiàn)次數(shù)最多的字符/
console.log(num_str);
/打印出現(xiàn)次數(shù)最多的字符出現(xiàn)的次數(shù)/
console.log(num);
</pre>
7、寫一個camelize函數(shù),把my-short-string形式的字符串轉(zhuǎn)化成myShortString形式的字符串,如
<pre>
camelize("background-color") == 'backgroundColor'
camelize("list-style-image") == 'listStyleImage'
//返回第一個字母為大寫的字符串.
function ucFirst(str){
var newstr = str.substring(1)
var cha = str[0].toUpperCase()
return cha+newstr
}
var str = 'list-style-image'
console.log(camelize(str))
//把my-short-string形式的字符串轉(zhuǎn)化成myShortString形式的字符串
function camelize(str) {
var arr= str.split('-')
for(var i=1;i<arr.length;i++){
arr[i] = ucFirst(arr[i])
}
return arr.join('')
}
</pre>
8、寫一個 ucFirst函數(shù),返回第一個字母為大寫的字符串
<pre>
ucFirst("hunger") == "Hunger"
function ucFirst(str){
var newstr = str.substring(1);
var cha = str[0].toUpperCase();
return cha+newstr;
}
</pre>
9、寫一個函數(shù)truncate(str, maxlength), 如果str的長度大于maxlength,會把str截斷到maxlength長,并加上...,如
<pre>
truncate("hello, this is hunger valley,", 10)) == "hello, thi...";
truncate("hello world", 20)) == "hello world"
-------***------
<script>
//寫一個函數(shù)truncate(str, maxlength), 如果str的長度大于maxlength,會把str截斷到maxlength長,并加上...,如
function truncate(str,len) {
var strlen = str.length
if(strlen>len) {
return str.split('').slice(0, strlen).join('').concat('...')
} else {
return str
}
}
console.log(truncate('hello, this is hunger valley', 10))
console.log(truncate("hello world", 20))
</script>
10、什么是 json?什么是 json 對象?什么是 json 對象字面量?什么是 JSON內(nèi)置對象?
答: json 是一種一種輕量級的數(shù)據(jù)交換格式。json 對象是 javascript 定義的對象,用來處理 JSON 格式數(shù)據(jù)。json 對象字面量是采用 JSON 格式定義的 JavaScript 對象。JSON內(nèi)置對象是經(jīng)過JSON.parse()轉(zhuǎn)換的值。
11、如何把JSON 格式的字符串轉(zhuǎn)換為對象?如何把對象轉(zhuǎn)換為 JSON 格式的字符串?
答:JSON.parse(str),JSON.stringify(obj)