1.使用數組拼接出如下字符串
var prod = {
name: '女裝',
styles: ['短款', '冬季', '春裝']
};
function getTpl(data){
var array=[];
array.push("<dl class=\"product\">\n");
array.push("\t<dt>"+data.name+"</dt>\n");
for(var key in data.styles){
array.push("\t<dd>"+data.styles[key]+"</dd>\n");
}
array.push("<dl>");
return array.join("");
};
var result = getTpl(prod);
console.log(result) ; //result為下面的字符串`
輸出:
<dl class="product">
<dt>女裝</dt>
<dd>短款</dd>
<dd>冬季</dd>
<dd>春裝</dd>
</dl>
2.寫出兩種以上聲明多行字符串的方法.
var string1="hello\
world\
hello\
jirengu";
console.log(string1);
var string2="hello"
+"world"
+"hello"
+"jirengu";
console.log(string2);
3.補全如下代碼,讓輸出結果為字符串: hello\\\饑人谷
var str ="hello\\\\\\\饑人谷"
console.log(str)
4.以下代碼輸出什么?為什么?
var str = 'jirengu\nruoyu'
console.log(str.length)
//輸出13。使用了\n換行,占用一個字符,空格不計算在長度內。
5.寫一個函數,判斷一個字符串是回文字符串,如 abcdcba是回文字符串, abcdcbb不是
function palind(str1){
var str2=str1.split("").reverse().join("");
if(str2==str1){
console.log("true");
}else{
console.log("false");
}
}
palind("abcdcba"); //true
palind("abcdcbb"); //false
6.寫一個函數,統計字符串里出現出現頻率最多的字符。
var str = "hello world nihao me?";
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(var key in dict) {
if(dict[key] > count) {
count = dict[key];
maxValue= key;
}
}
console.log(maxValue,count);
7.寫一個camelize函數,把my-short-string形式的字符串轉化成myShortString形式的字符串,如
camelize("background-color") == 'backgroundColor'
camelize("list-style-image") == 'listStyleImage'
function camelize(str) {
var arr = str.split('-');
var arr1 = [];
for (var i=0; i<arr.length; i++) {
if (i>0) {
arr1.push(arr[i].replace(arr[i][0],arr[i][0].toUpperCase()));
}else {
arr1.push(arr[i])
}
}
return arr1.join('');
}
console.log(camelize("background-color") == "backgroundColor");
console.log(camelize("list-style-image") =="listStyleImage");`
8.寫一個 ucFirst函數,返回第一個字母為大寫的字符
ucFirst("hunger") == "Hunger"
function ucFirst(str) {
var str1 = str[0].toUpperCase()+str.substr(1);
return str1;
}
console.log(ucFirst("hunger")) //Hunger`
9.寫一個函數truncate(str, maxlength), 如果str的長度大于maxlength,會把str截斷到maxlength長,并加上...,如
truncate("hello, this is hunger valley,", 10)) == "hello, thi...";
truncate("hello world", 20)) == "hello world"
var str = "hello, this is hunger valley";
function truncate (obj,num){
if(obj.length>num){
var arr = obj.split('');
arr.splice(num,obj.length-num,"....");
return arr.join('');
}
return obj;
}
console.log(truncate(str,10));
10.什么是 json?什么是 json 對象?什么是 json 對象字面量?什么是 JSON內置對象?11、如何把JSON 格式的字符串轉換為對象?如何把對象轉換為 JSON 格式的字符串?
JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個子集。 JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。這些特性使JSON成為理想的數據交換語言。 易于人閱讀和編寫,同時也易于機器解析和生成(網絡傳輸速度)。
JSON對象,其實就是JSON的值,基本要符合以下規則.
復合類型的值只能是數組或對象,不能是函數、正則表達式對象、日期對象;
簡單類型的值只有四種:字符串、數值(必須以十進制表示)、布爾值和null(不能使用NaN, Infinity, -Infinity和undefined);
字符串必須使用雙引號表示,不能使用單引號;
對象的鍵名必須放在雙引號里面;
數組或對象最后一個成員的后面,不能加逗號。json對象字面量是一種簡單的描述以及聲明方式。
json是javascript中的內置對象,有JSON.parse()、JSON.stringify()等方法。
1.stringify:把JSON對象轉化為字符串 var obj = { "name":"xiaoaming", "age":15 } JSON.stringify(obj); 2.parse:把字符串轉化為JSON對象 var str = '{"name":"xiaoqiang","age":17}'; JSON.parse(str);`